13 KiB
DXF 정보추출용 캐드 작업 지침서
목적: DXF 파일만으로 P&ID 도면의 모든 정보를 자동 추출할 수 있도록 AutoCAD 작업 시 준수해야 할 규칙
대상: P&ID 도면 작성자, CAD 운영자
버전: v1.0
작성일: 2026-05-06
목차
- 총칙
- 레이어 규칙
- 블록(Block) 규칙
- 텍스트 규칙
- 설비(Equipment) 규칙
- 배관(Piping) 규칙
- 흐름 방향(Flow Direction) 규칙
- 설비 사양 정보 규칙
- 검증 체크리스트
1. 총칙
1.1 목적
본 지침서는 DXF 파일만으로 P&ID 도면의 다음 정보를 100% 자동 추출할 수 있도록 AutoCAD 작업 시 준수해야 할 규칙을 정의합니다:
- 태그명: 장비, 펌프, 계측기기, 밸브의 고유 식별자
- 설비 인식: 장비 타입 판별 및 위치 파악
- 연결관계: 배관과 장비의 연결, 단일 장비에 연결된 계측기기/펌프/밸브
- 흐름방향: 유체의 이동 방향
- 설비 사양: SIZE, VOLUME, MATERIAL 등 도면 내 장비 정보
1.2 핵심 원칙
| 원칙 | 설명 |
|---|---|
| 블록 우선 | 모든 심볼은 블록(Block/INSERT)으로 작성 |
| 레이어 분리 | 요소별로 레이어를 명확히 분리 |
| 텍스트 표준화 | 태그명은 표준 형식으로 TEXT 엔티티 사용 |
| 속성 활용 | 블록 속성(Attribute)으로 메타데이터 저장 |
| 좌표 정렬 | 연결점은 정확한 좌표로 맞닿게 작성 |
2. 레이어 규칙
2.1 필수 레이어 목록
다음 레이어를 반드시 생성하고 요소별로 분리하여 작성해야 합니다:
| 레이어명 | 용도 | 필수 |
|---|---|---|
EQUIPMENT |
주요 설비 (탱크, 컬럼, 히터, 반응기) | ✅ |
PUMP |
펌프 | ✅ |
VALVE |
밸브 (모든 타입) | ✅ |
INSTRUMENT |
계측기기 (센서, 트랜스미터, 컨트롤러) | ✅ |
PROCESS_LINE |
공정 배관 | ✅ |
STEAM_LINE |
스팀 배관 | ✅ |
WATER_LINE |
물 배관 | ✅ |
ELECTRIC_SIGNAL |
전기 신호 라인 (제어선) | ✅ |
TAG_TEXT |
태그명 텍스트 | ✅ |
PIPELINE_NO |
파이프 라인 번호 | ✅ |
FLOW_ARROW |
흐름 방향 화살표 | ✅ |
SPEC_TEXT |
설비 사양 텍스트 | ✅ |
2.2 레이어 사용 규칙
- 혼용 금지: 한 레이어에 서로 다른 타입의 요소를 섞지 마세요
- 0 레이어 금지: 0 레이어에 작업 요소를 작성하지 마세요
- 일관성: 모든 도면에서 동일한 레이어명 사용
3. 블록(Block) 규칙
3.1 블록 사용 의무
모든 설비/밸브/계측기기는 반드시 블록(Block Reference/INSERT)으로 작성해야 합니다.
블록을 사용하면:
INSERT.dxf.name으로 심볼 타입을 직접 식별 가능INSERT.dxf.insert로 정확한 위치 추출 가능- 속성(Attribute)으로 태그명/사양 저장 가능
3.2 블록 명명 규칙
블록명은 다음 형식을 따릅니다:
[타입]_[서브타입]
| 블록명 | 설명 | 예시 |
|---|---|---|
EQUIP_TANK |
탱크 | T-10100 |
EQUIP_COLUMN |
컬럼/분리탑 | C-10111 |
EQUIP_HEATER |
히터/교환기 | E-10119 |
EQUIP_REACTOR |
반응기 | R-10101 |
PUMP_CENTRIFUGAL |
원심펌프 | P-10101 |
PUMP_DIAPHRAGM |
다이어프램 펌프 | DP-10101 |
PUMP_VACUUM |
진공펌프 | VP-10117 |
VALVE_GLOBE |
글로브 밸브 | FCV-10101 |
VALVE_BALL |
볼 밸브 | XV-10111 |
VALVE_BUTTERFLY |
버터플라이 밸브 | BV-10100 |
VALVE_CHECK |
체크 밸브 | |
VALVE_PSV |
안전밸브 | PSV-10101 |
INST_TRANSMITTER |
트랜스미터 | PT-10111 |
INST_INDICATOR |
지시기 | TI-10103 |
INST_CONTROLLER |
컨트롤러 | FICQ-10101 |
INST_GAUGE |
게이지 | PG-10101 |
FLOW_ARROW |
흐름 방향 화살표 |
3.3 블록 속성(Attribute) 규칙
각 블록에는 다음 속성을 반드시 포함합니다:
| 속성 태그 | 설명 | 예시 |
|---|---|---|
TAG |
장비 태그명 | T-10100 |
NAME |
장비 명칭 | FEED BUFFER TANK |
SIZE |
크기 | Ø2,500 x 3,600H |
VOLUME |
용적 | 20.6M3 |
MATERIAL |
재질 | STS304 |
PRESSURE |
압력 | 0.25MPa |
TEMPERATURE |
온도 | 80°C |
속성 작성 방법:
- AutoCAD에서
ATTDEF명령으로 속성 정의 BLOCK명령으로 블록 생성 시 속성 포함INSERT시 속성값 입력
4. 텍스트 규칙
4.1 태그명 텍스트
각 장비/밸브/계측기기 옆에 태그명을 TEXT 엔티티로 반드시 작성합니다:
| 규칙 | 내용 |
|---|---|
| 레이어 | TAG_TEXT 레이어 사용 |
| 형식 | [접두사]-[번호] (예: T-10100, P-10101, FCV-10101) |
| 위치 | 장비 블록에서 10~20 단위 떨어진 곳에 배치 |
| 폰트 | 표준 폰트 (고딕, Arial) — 특수 폰트 금지 |
| 회전 | 0도 (수평) — 회전된 텍스트 금지 |
4.2 파이프 라인 번호
배관 옆에 파이프 라인 번호를 TEXT 엔티티로 작성합니다:
| 규칙 | 내용 |
|---|---|
| 레이어 | PIPELINE_NO 레이어 사용 |
| 형식 | [유체코드]-[라인번호]-[규격]-[등급]-[재질] |
| 예시 | P-10101-25A-F1A-n |
| 위치 | 배관 라인에서 5~10 단위 떨어진 곳에 배치 |
4.3 금지 사항
- MTEXT 금지: 단순 태그명은 TEXT 사용 (MTEXT는 다중 줄 설명용)
- 특수 문자 금지:
%%U,%%d등 AutoCAD 제어 문자 사용 금지 - 한글 태그 금지: 태그명은 영문/숫자/하이픈만 사용
5. 설비(Equipment) 규칙
5.1 설비 블록 작성 규칙
각 설비는 블록으로 작성하고, 다음 정보를 포함합니다:
예시: T-10100 FEED BUFFER TANK
블록명: EQUIP_TANK
위치: (X, Y) — 탱크 중심점
속성:
TAG = T-10100
NAME = FEED BUFFER TANK
SIZE = Ø2,500 x 3,600H
VOLUME = 20.6M3
MATERIAL = STS304
PRESSURE = ATM
TEMPERATURE = 80°C
5.2 설비-배관 연결점 규칙
설비 블록과 배관이 연결되는 지점은 정확한 좌표로 맞닿게 작성합니다:
탱크 출구: (1672.2, 1755.3)
배관 시작: (1672.2, 1755.3) ← 동일한 좌표
규칙:
- 연결점은 LINE 엔티티의 시작/끝 좌표가 정확히 일치해야 함
- 연결점 간격 0.5 단위 이내로 허용
- 연결점이 맞지 않으면 자동 추출 실패
5.3 설비-계측기 연결 규칙
설비에 연결된 계측기기는 ELECTRIC_SIGNAL 레이어의 선으로 연결합니다:
탱크(T-10100) → LT-10100 (수위 트랜스미터)
연결선: ELECTRIC_SIGNAL 레이어
시작: 탱크 블록 좌표
종료: 계측기 블록 좌표
추출 로직:
- 설비 블록 위치 확인
- 동일 위치에서 시작하는 ELECTRIC_SIGNAL 라인 추적
- 라인 끝점에 있는 계측기 블록 식별
- 연결 관계 기록:
T-10100 → LT-10100
6. 배관(Piping) 규칙
6.1 배관 라인 작성 규칙
모든 배관은 LINE 또는 LWPOLYLINE 엔티티로 작성하며, 다음 규칙을 따릅니다:
| 규칙 | 내용 |
|---|---|
| 레이어 | 배관 타입별 레이어 사용 (PROCESS_LINE, STEAM_LINE, WATER_LINE) |
| 연결점 | LINE의 시작/끝 좌표가 설비 블록 연결점과 정확히 일치 |
| 연속성 | 배관 경로가 끊기지 않도록 연속적인 LINE 작성 |
| 교차 | 배관 교차점은 좌표가 정확히 일치 (0.5 단위 이내) |
6.2 배관-설비 연결 추출 로직
1. 설비 블록의 연결점 좌표 확인
2. 동일 좌표에서 시작하는 PROCESS_LINE 레이어의 LINE 찾기
3. LINE을 따라 다음 설비 블록까지 추적
4. 연결 관계 기록: [설비A] → [배관] → [설비B]
예시:
T-10100 출구: (1672.2, 1755.3)
→ PROCESS_LINE: (1672.2, 1755.3) → (1700.0, 1755.3)
→ P-10101 입구: (1700.0, 1755.3)
결과: T-10100 → P-10101 (배관: P-10101-25A-F1A-n)
6.3 밸브-배관 연결 규칙
밸브는 배관 라인 위에 배치하며, 연결점이 정확히 맞닿게 작성합니다:
배관: (1700, 1755) → (1720, 1755)
밸브 입구: (1720, 1755)
밸브 출구: (1730, 1755)
배관: (1730, 1755) → (1750, 1755)
추출 로직:
- 배관 LINE의 끝점 확인
- 동일 좌표에 밸브 블록이 있는지 확인
- 밸브 출구에서 계속되는 배관 LINE 추적
- 연결 관계:
배관 → 밸브 → 배관
7. 흐름 방향(Flow Direction) 규칙
7.1 화살표 블록 사용 의무
모든 배관 라인의 흐름 방향은 화살표 블록으로 명시해야 합니다.
| 규칙 | 내용 |
|---|---|
| 블록명 | FLOW_ARROW |
| 레이어 | FLOW_ARROW |
| 위치 | 배관 라인 중간 또는 끝에 배치 |
| 회전 | 흐름 방향에 맞게 회전 (0°=우측, 90°=하측) |
7.2 화살표 블록 속성
블록명: FLOW_ARROW
속성:
DIRECTION = RIGHT / LEFT / UP / DOWN
PIPELINE = P-10101-25A-F1A-n (연결된 파이프 라인 번호)
7.3 흐름 방향 추출 로직
1. FLOW_ARROW 블록 찾기
2. INSERT.dxf.rotation으로 방향 확인
- 0° = 우측 흐름 (→)
- 180° = 좌측 흐름 (←)
- 90° = 상측 흐름 (↑)
- 270° = 하측 흐름 (↓)
3. 화살표 위치에서 연결된 배관 라인 찾기
4. 방향 정보 기록: [배관] → [방향]
7.4 탱크/컬럼 화살표 심볼
탱크와 컬럼은 기존처럼 화살표 모양 경계선을 유지할 수 있으나,
추가로 FLOW_ARROW 블록을 배관 라인에 배치해야 합니다:
T-10100 (탱크)
└→ FLOW_ARROW (rotation=0°, RIGHT)
└→ 배관: P-10101-25A-F1A-n
└→ P-10101 (펌프)
7.5 필수 배치 위치
화살표는 다음 위치에 반드시 배치합니다:
- 설비 출구: 탱크/컬럼/히터에서 나가는 배관
- 분기점: 배관이 분기되는 지점
- 합류점: 배관이 합류하는 지점
- 도면 경계: 도면 밖으로 나가는 배관
8. 설비 사양 정보 규칙
8.1 사양 정보 저장 방법
설비 사양은 **블록 속성(Attribute)**으로 저장합니다. PDF에 표시되는 텍스트는 시각용이며, DXF 추출의 기준은 블록 속성입니다.
8.2 필수 속성 목록
각 설비 블록에 다음 속성을 반드시 포함합니다:
| 속성 태그 | 설명 | 예시 | 필수 |
|---|---|---|---|
TAG |
장비 태그명 | T-10100 |
✅ |
NAME |
장비 명칭 | FEED BUFFER TANK |
✅ |
SIZE |
크기 | Ø2,500 x 3,600H |
✅ |
VOLUME |
용적 | 20.6M3 |
✅ |
MATERIAL |
재질 | STS304 |
✅ |
DESIGN_PRESSURE |
설계 압력 | 0.25MPa |
✅ |
OPERATING_PRESSURE |
운전 압력 | ATM |
✅ |
DESIGN_TEMP |
설계 온도 | 80°C |
✅ |
OPERATING_TEMP |
운전 온도 | AMB |
✅ |
INSULATION |
단열 | H50 |
❌ |
8.3 펌프 전용 속성
| 속성 태그 | 설명 | 예시 |
|---|---|---|
CAPACITY |
용량 | 60L/min |
RPM |
회전수 | 3,520 |
TYPE |
펌프 타입 | CENTRIFUGAL |
8.4 예시: T-10100 FEED BUFFER TANK
블록명: EQUIP_TANK
레이어: EQUIPMENT
위치: (1662.6, 1754.5)
속성:
TAG = T-10100
NAME = FEED BUFFER TANK
SIZE = Ø2,500 x 3,600H
VOLUME = 20.6M3
MATERIAL = STS304
DESIGN_PRESSURE = ATM
OPERATING_PRESSURE = ATM
DESIGN_TEMP = 80°C
OPERATING_TEMP = AMB
8.5 예시: P-10101 FEED PUMP
블록명: PUMP_CENTRIFUGAL
레이어: PUMP
위치: (2055.3, 1738.6)
속성:
TAG = P-10101
NAME = FEED PUMP
SIZE = 25A/20A
MATERIAL = STS316
CAPACITY = 60L/min
RPM = 3,520
DESIGN_PRESSURE = 0.25MPa
TYPE = CENTRIFUGAL
9. 검증 체크리스트
도면 작성 완료 후 다음 항목을 반드시 확인하세요:
9.1 블록 검증
- 모든 설비가 블록(Block/INSERT)으로 작성되었는가?
- 블록명이 표준 형식을 따르는가? (
EQUIP_TANK,PUMP_CENTRIFUGAL등) - 모든 블록에 필수 속성(TAG, NAME, SIZE, MATERIAL)이 포함되었는가?
- 속성값이 정확한가?
9.2 레이어 검증
- 모든 요소가 올바른 레이어에 배치되었는가?
- 0 레이어에 작업 요소가 없는가?
- 레이어명이 표준 목록과 일치하는가?
9.3 연결점 검증
- 설비-배관 연결점 좌표가 정확히 일치하는가? (0.5 단위 이내)
- 배관 라인이 끊기지 않고 연속적인가?
- 밸브가 배관 라인 위에 정확히 배치되었는가?
9.4 흐름 방향 검증
- 모든 배관 라인에 FLOW_ARROW 블록이 배치되었는가?
- 화살표 회전 각도가 흐름 방향과 일치하는가?
- 분기점/합류점에 화살표가 배치되었는가?
9.5 텍스트 검증
- 모든 태그명이 TAG_TEXT 레이어에 TEXT 엔티티로 작성되었는가?
- 태그명 형식이 표준을 따르는가? (
T-10100,P-10101) - 파이프 라인 번호가 PIPELINE_NO 레이어에 작성되었는가?
- 특수 문자(%%U, %%d)가 없는가?
9.6 DXF 내보내기 검증
- DXF 버전이 R2018 이상인가?
- 블록 정의가 정상적으로 내보내졌는가?
- 블록 속성(Attribute)이 포함되었는가?
- 레이어 정보가 유지되었는가?