# 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 텍스트 추출 + 외부 설비 정의서 매핑 + 좌표 기반 연결 추론을 조합한 하이브리드 접근 필요