루트 파일 정리: - DXF/P&ID 관련 → dxf-graph/ - fastTable 관련 → fastTable/ - plan/ → plans/ 통합 (최신 버전 유지) - 테스트 출력 파일, 구버전 프로젝트 삭제 - 불필요한 루트 문서 삭제
249 lines
9.2 KiB
Markdown
249 lines
9.2 KiB
Markdown
# P&ID 설비 연결 정보 추출 분석 보고서
|
|
|
|
**파일**: `src/Web/uploads/pid/plant-10100-only.dxf`
|
|
**분석일**: 2026-05-06
|
|
**목적**: DXF 파일에서 설비 노드 및 연결 관계 추출 가능성 분석
|
|
|
|
---
|
|
|
|
## 1. DXF 파일 구조 분석
|
|
|
|
### 1.1 기본 정보
|
|
|
|
- **DXF 버전**: AutoCAD 형식 (ezdxf 정상 읽기 가능)
|
|
- **총 엔티티 수**: 6,655개
|
|
|
|
### 1.2 엔티티 통계
|
|
|
|
| 엔티티 타입 | 수 | 설명 |
|
|
|-------------|-----|------|
|
|
| LINE | 4,934 | 선분 (파이프, 심볼 경계) |
|
|
| TEXT | 761 | 단일 줄 텍스트 |
|
|
| CIRCLE | 334 | 원 (밸브, 심볼) |
|
|
| ARC | 219 | 호 (밸브, 심볼) |
|
|
| MTEXT | 76 | 다중 줄 텍스트 |
|
|
| LWPOLYLINE | 33 | 경량 폴리라인 |
|
|
| HATCH | 31 | 해칭 (심볼 채움) |
|
|
| ELLIPSE | 27 | 타원 |
|
|
| SOLID | 16 | 고체 도형 |
|
|
| POINT | 8 | 점 |
|
|
| SPLINE | 7 | 스플라인 |
|
|
| LEADER | 1 | 리더 라인 |
|
|
|
|
### 1.3 레이어 목록
|
|
|
|
| 레이어명 | 용도 |
|
|
|----------|------|
|
|
| 0 | 기본 레이어 (설비 태그, 일반 텍스트) |
|
|
| PROCESS LINE | 공정 파이프 라인 |
|
|
| INSTRUMENT | 계기/계측기 정보 |
|
|
| LINENO | 파이프 라인 번호 |
|
|
| VALVE NO | 밸브 번호 |
|
|
| STEAM LINE | 스팀 라인 |
|
|
| WATER | 물 라인 |
|
|
| ELECTRIC SIGNAL | 전기 신호 라인 |
|
|
| UTIL | 유틸리티 |
|
|
| TEXT | 일반 텍스트 |
|
|
| 건축 | 건축 요소 |
|
|
| PSV | 안전 밸브 |
|
|
| DM | 다이어프램 메터 |
|
|
| ECT-FITTINGS | 피팅 |
|
|
| 1-SYMBOL | 심볼 |
|
|
| 8-치수선 | 치수선 |
|
|
| TITLE | 제목 블록 |
|
|
| VA NO | 밸브 액추에이터 번호 |
|
|
| REV.UPDATE | 수정 이력 |
|
|
| SH1 | 시트 정보 |
|
|
| 기타 | Defpoints, C, 1, 0-BAS 등 |
|
|
|
|
### 1.4 블록 정의
|
|
|
|
- **사용자 정의 블록 없음** - 설비 심볼이 블록이 아닌 개별 엔티티(LINE, CIRCLE, ARC)로 직접绘制됨
|
|
|
|
---
|
|
|
|
## 2. 설비 노드 정보 추출 분석
|
|
|
|
### 2.1 텍스트 기반 설비 태그 추출 결과
|
|
|
|
DXF 파일의 TEXT/MTEXT 엔티티에서 설비 태그 패턴을 추출한 결과:
|
|
|
|
| 설비 타입 | 태그 수 | 예시 |
|
|
|-----------|---------|------|
|
|
| P- (펌프/프로세스) | 60+ | P-10101, P-10114, P-10118 |
|
|
| PSV- (안전밸브) | 11 | PSV-10101, PSV-10111, PSV-10119A |
|
|
| E- (히터/교환기) | 1 | E-10119 |
|
|
| SC- (스크러버) | 4 | SC-10128, SC-9128 |
|
|
| BV- (버튼밸브) | 2 | BV-10100, BV-10101 |
|
|
|
|
### 2.2 계기/계측기 정보 (INSTRUMENT 레이어)
|
|
|
|
총 180개 텍스트에서 추출 가능한 계기 정보:
|
|
|
|
| 계기 타입 | 설명 | 예시 태그 |
|
|
|-----------|------|-----------|
|
|
| FCV | 유량 제어 밸브 | FCV-10101 |
|
|
| FICQ | 유량 지시 제어기(누적) | FICQ-10101 |
|
|
| FIT | 유량 변환기 | FIT-10101 |
|
|
| TICA | 온도 지시 제어 알람 | TICA-10111 |
|
|
| TIA | 온도 지시 알람 | TIA-10111 |
|
|
| TI | 온도 지시 | TI-10117 |
|
|
| PICA | 압력 지시 제어 알람 | PICA-10111 |
|
|
| PIA | 압력 지시 알람 | PIA-10111 |
|
|
| PCV | 압력 제어 밸브 | PCV-10113 |
|
|
| PRV | 압력 감압 밸브 | PRV-10113 |
|
|
| TCV | 온도 제어 밸브 | TCV-10111 |
|
|
| XV | 온/오프 밸브 | XV-10111 |
|
|
| PG | 압력 게이지 | PG-10101 |
|
|
| TG | 온도 게이지 | TG-10100 |
|
|
| LG | 수위 게이지 | LG-10101 |
|
|
| LT | 수위 전송기 | LT-10101 |
|
|
| FI | 유량 지시 | FI-10111 |
|
|
| LICA | 수위 지시 제어 알람 | LICA-10113 |
|
|
| LIA | 수위 지시 알람 | LIA-10111 |
|
|
| LI | 수위 지시 | LI-10100 |
|
|
| TE | 온도 요소 | TE-10103 |
|
|
| PT | 압력 전송기 | PT-10111 |
|
|
| FIT | 유량 변환기 | FIT-10101 |
|
|
|
|
### 2.3 파이프 라인 정보 (LINENO 레이어)
|
|
|
|
총 118개 파이프 라인 번호 추출 가능:
|
|
|
|
| 라인 번호 | 규격 | 등급 | 재질 |
|
|
|-----------|------|------|------|
|
|
| P-10138 | 600A | F2A | H100 |
|
|
| P-10143 | 32A | F1A | n |
|
|
| P-10127 | 65A | F2A | n |
|
|
| VG-10441 | 200A | F1A | n |
|
|
| CWS-10612 | 200A | S2A | n |
|
|
| CWR-10622 | 200A | S2A | n |
|
|
| N2-10701 | 25A | F1A | n |
|
|
|
|
### 2.4 밸브 정보 (VALVE NO 레이어)
|
|
|
|
총 128개 밸브 번호 추출 가능:
|
|
|
|
| 밸브 ID | 연결 설비 |
|
|
|---------|-----------|
|
|
| E10115BA-01 | E-10115 |
|
|
| C10111BA-01 | C-10111 |
|
|
| D10113BA-01 | D-10113 |
|
|
| VP10117BA-01 | V-10117 |
|
|
| SP10601BA-01 | S-10601 |
|
|
| HD10114BA-01 | H-10114 |
|
|
| P10114BA-06 | P-10114 |
|
|
| T10100BA-07 | T-10100 |
|
|
|
|
### 2.5 추출 가능성 평가
|
|
|
|
| 항목 | 추출 가능 | 신뢰도 | 비고 |
|
|
|------|-----------|--------|------|
|
|
| 설비 태그 (P-, E-, SC-) | ✅ 예 | HIGH | 텍스트 패턴 명확 |
|
|
| 계기 태그 (FCV, FICQ 등) | ✅ 예 | HIGH | INSTRUMENT 레이어 분리 |
|
|
| 파이프 라인 번호 | ✅ 예 | HIGH | LINENO 레이어 분리 |
|
|
| 밸브 번호 | ✅ 예 | HIGH | VALVE NO 레이어 분리 |
|
|
| 설비 한글 명칭 | ❌ 아님 | - | DXF에 한글 설명 없음 |
|
|
| 설비 타입 분류 | ⚠️ 부분적 | MEDIUM | 태그 접두사로 추론 가능 |
|
|
|
|
---
|
|
|
|
## 3. 연결 관계 추출 분석
|
|
|
|
### 3.1 파이프 라인 연결 (PROCESS LINE 레이어)
|
|
|
|
- **LINE 엔티티**: 351개
|
|
- **좌표 기반 연결 추적 가능**: LINE 엔티티의 시작/끝 좌표가 인접하게 연결되어 파이프 경로 추적 가능
|
|
- **예시**: `(1812.0, 1726.9) → (1810.5, 1726.9)` 와 같은 짧은 선분들이 연결되어 파이프 경로 형성
|
|
|
|
### 3.2 다른 라인 레이어
|
|
|
|
| 레이어 | LINE 수 | 용도 |
|
|
|--------|---------|------|
|
|
| STEAM LINE | 69 | 스팀 라인 |
|
|
| WATER | 22 | 물 라인 |
|
|
| ELECTRIC SIGNAL | 42 | 전기 신호 라인 (제어 신호) |
|
|
| UTIL | 48 | 유틸리티 |
|
|
|
|
### 3.3 연결 관계 추출 방법
|
|
|
|
1. **텍스트 위치 기반**: 설비 태그 TEXT 엔티티의 좌표와 파이프 LINE 엔티티의 좌표를 비교하여 인접한 설비 간 연결 추론
|
|
2. **라인 연결 추적**: PROCESS LINE 레이어의 LINE 엔티티들을 시작/끝 좌표로 연결하여 파이프 경로 구성
|
|
3. **레이어별 분리**: 공정 라인, 스팀 라인, 전기 신호 라인을 레이어별로 분리 처리
|
|
|
|
### 3.4 추출 가능성 평가
|
|
|
|
| 항목 | 추출 가능 | 신뢰도 | 비고 |
|
|
|------|-----------|--------|------|
|
|
| 파이프 경로 추적 | ⚠️ 부분적 | MEDIUM | 좌표 기반 연결 추적 필요 |
|
|
| 설비-파이프 연결 | ⚠️ 부분적 | LOW | 텍스트-라인 거리 계산 필요 |
|
|
| 제어 신호 연결 | ⚠️ 부분적 | LOW | ELECTRIC SIGNAL 레이어 분석 필요 |
|
|
| 흐름 방향 | ❌ 아님 | - | 화살표 심볼이 텍스트로 없음 |
|
|
| 정확한 연결점 | ❌ 아님 | - | 심볼과 라인의 연결점이 명시적이지 않음 |
|
|
|
|
---
|
|
|
|
## 4. 부족 정보 및 한계점
|
|
|
|
### 4.1 DXF에 없는 정보 (추출 불가)
|
|
|
|
| 필요한 정보 | DXF 존재 여부 | 대체 방법 |
|
|
|-------------|---------------|-----------|
|
|
| 설비 한글 명칭 | ❌ 없음 | 외부 매핑 테이블 필요 |
|
|
| 흐름 방향 (화살표) | ❌ 없음 | 파이프 라인 번호 규칙으로 추론 |
|
|
| 심볼-라인 연결점 | ❌ 명시적 아님 | 거리 기반 매칭 필요 |
|
|
| 설비 사양 (용량, 크기) | ❌ 없음 | 외부 문서 참조 필요 |
|
|
| 제어 로직 상세 | ❌ 없음 | 계기 태그로만 유추 가능 |
|
|
|
|
### 4.2 주요 한계점
|
|
|
|
1. **설비 명칭 부재**: DXF에는 "P-10101" 같은 태그만 있고, "원료 펌프" 같은 한글 설명이 없음
|
|
2. **블록 미사용**: 설비 심볼이 블록이 아닌 개별 도형으로绘制되어 심볼 인식 어려움
|
|
3. **연결점 불명확**: 파이프 라인과 설비 심볼의 연결 좌표가 정확히 맞지 않음
|
|
4. **방향 정보 부재**: 화살표가 별도 심볼로 존재하지 않아 흐름 방향 판단 어려움
|
|
|
|
### 4.3 추가 필요한 정보
|
|
|
|
- [ ] **설비 정의서**: 태그별 한글 명칭 및 사양
|
|
- [ ] **P&ID 범례(Legend)**: 심볼별 의미 정의
|
|
- [ ] **파이프 클래스 테이블**: 라인 번호별 재질/규격 정의
|
|
- [ ] **계기 데이터시트**: 계기별 제어 로직 및 연결 정보
|
|
|
|
---
|
|
|
|
## 5. 결론
|
|
|
|
### 5.1 추출 가능 vs 불가능 요약
|
|
|
|
| 항목 | 추출 가능 | 방법 |
|
|
|------|-----------|------|
|
|
| 설비 태그 목록 | ✅ HIGH | 텍스트 패턴 매칭 |
|
|
| 계기 태그 목록 | ✅ HIGH | INSTRUMENT 레이어 |
|
|
| 파이프 라인 번호 | ✅ HIGH | LINENO 레이어 |
|
|
| 밸브 번호 | ✅ HIGH | VALVE NO 레이어 |
|
|
| 설비 한글 명칭 | ❌ | 외부 데이터 필요 |
|
|
| 파이프 연결 경로 | ⚠️ MEDIUM | 좌표 기반 추적 |
|
|
| 흐름 방향 | ❌ | 화살표 정보 부재 |
|
|
| 제어 신호 연결 | ⚠️ LOW | ELECTRIC SIGNAL 레이어 분석 필요 |
|
|
|
|
### 5.2 샘플과 비교
|
|
|
|
| 샘플 항목 | DXF 추출 결과 |
|
|
|-----------|---------------|
|
|
| P-101A (펌프) | P-10101, P-10114, P-10118 추출 가능 (한글 명칭 없음) |
|
|
| E-101 (프리히터) | E-10119 추출 가능 |
|
|
| C-101 (분리탑) | 직접적인 C- 태그 없음 (VALVE NO에서 C10111BA 참조) |
|
|
| V-101 (탱크) | T-10100, T-10101 추출 가능 |
|
|
| FCV-101 | FCV + 10101 조합으로 추출 가능 |
|
|
| PCV-101 | PCV + 10113 조합으로 추출 가능 |
|
|
| XV-101 | XV + 10111 조합으로 추출 가능 |
|
|
| 연결 관계 | 좌표 기반 부분적 추적 가능 |
|
|
|
|
### 5.3 최종 판단
|
|
|
|
**DXF 파일만으로는 샘플 수준의 완전한 설비 연결 정보 추출이 불가능합니다.**
|
|
|
|
- **추출 가능한 부분**: 설비/계기/밸브/파이프 태그 목록 (HIGH 신뢰도)
|
|
- **한계**: 한글 명칭, 흐름 방향, 정확한 연결 관계는 외부 정보 없이 추출 불가
|
|
- **권장**: DXF 텍스트 추출 + 외부 설비 정의서 매핑 + 좌표 기반 연결 추론을 조합한 하이브리드 접근 필요
|