고객 프로필
이 팀은 상업 해운 분야 전반에서 화학 탱커 운영사, 조선소, 선급 기관을 지원하는 해양건축 및 해양 엔지니어링 컨설팅 내에서 운영됩니다. 이들의 문서 작업은 DXF와 DWG 도면을 중심으로 이루어지며, CAD 파일 안에 있는 내용을 구조화된 표, 갱신된 타이틀 블록, 그리고 조선소와 선급 검사관이 실제로 필요로 하는 공식 납품 세트로 변환합니다.
일반적인 프로젝트에서는 탱크 스케줄, Main Particulars 요약, 최소 한 번의 타이틀 블록 개정, 그리고 지정된 DWG 버전의 반환 도면을 제공합니다. Hanna 프로젝트는 화학 탱커를 대상으로 했으며, 범위는 정확히 이 구성이었습니다. 즉, 두 개의 구조화된 데이터 표, 타이틀 블록 변경, 그리고 검증된 AC1021 DWG로의 왕복 변환이 포함되었습니다. 팀은 여러 선박을 동시에 처리하기 때문에, 수작업 추출의 병목은 프로젝트 포트폴리오 전반에서 빠르게 누적됩니다.
문제
DXF 도면에서 구조화된 데이터를 추출하는 일은 일반적인 의미의 텍스트 파싱 작업이 아닙니다. 선박 도면은 레이블, 값, 치수, 프레임 주석을 레이어 전반에 분산된 DXF 텍스트 엔티티로 저장하며, 스프레드시트 도구가 바로 읽을 수 있는 일관된 행과 열 구조가 없습니다. 유일하게 신뢰할 수 있는 방법은 DXF 형식을 프로그래밍 방식으로 파싱하거나, 도면을 전체 CAD 워크스테이션에서 열어 값을 직접 입력하는 것입니다.
Hanna 프로젝트의 추출 대상은 두 개의 표와 일곱 개의 개별 측정 라인이었습니다.
Main Particulars 블록에는 다음 선박 치수가 포함되어 있었습니다.
- Length for scantlings: 106.254 m
- Length overall: 109.999 m
- Breadth moulded: 13.500 m
- Depth moulded: 5.140 m
- Draft — scantling: 4.200 m
- Draft — maximum: 4.200 m
- Cargo tank capacity: 4,560 m³
각 행에는 "abt."(대략), "mld."(moulded)와 같은 수식어도 함께 포함되어 있었으며, 숫자 값과 단위와 함께 출력에 그대로 보존되어야 했습니다. 수식어를 잃거나 잘못 배정하면 해당 치수의 엔지니어링 해석이 달라집니다.
탱크 표는 또 다른 과제를 제시했습니다. 이 클래스의 화학 탱커에 대한 완전한 탱크 스케줄은 많은 번호가 매겨진 탱크로 구성되며, 각 탱크에는 프레임 범위와 관련 용량이 포함됩니다. 위험은 추출 오류뿐 아니라 조용한 누락에도 있습니다. 누락된 탱크 항목은 문서가 선급 검사관이나 조선소의 조달팀에 도달할 때까지 발견되지 않을 수 있습니다. 팀의 이전 워크플로에서는 CAD 워크스테이션에서 도면을 열고, 값을 수동으로 읽어 Excel에 입력하는 방식이었는데, 단일 선박 도면의 전체 추출 작업에 거의 하루가 걸렸고, 그럼에도 이 위험은 해소되지 않았습니다.
이 프로젝트에는 유효한 AC1021 파일을 생성하는 DXF-to-DWG 변환도 필요했습니다. 이 버전 표준(AutoCAD 2007 형식)은 선급 기관과 일부 조선소에서 사용 중인 많은 구형 CAD 시스템에서 여전히 요구됩니다. 파일 이름만 바꾸는 것으로는 충분하지 않으며, 팀은 인계용 출력물을 인증하기 위해 엔티티 수와 레이아웃 확인이 필요했습니다.
왜 지금인가
선급 기관과 조선소 조달 시스템은 도면과 함께 기계 판독 가능한 데이터를 점점 더 요구하고 있습니다. 수용 시스템이 용량 수치, 프레임 범위 또는 선박 제원을 데이터베이스에 적재하거나, 검사 일정이 잡히기 전에 프로그램적으로 대조해야 하는 경우에는 DWG나 PDF만으로는 더 이상 충분하지 않습니다.
Hanna 프로젝트는 도면 검토 단계에서 공식 선급 제출 단계로 넘어가는 일반적인 전환점을 보여주었습니다. 이 단계에서는 갱신된 도면과 병행하여 구조화된 데이터 내보내기가 필요합니다. 이 시점의 지연은 검사 일정에 파급되고, 궁극적으로는 선박의 운항 준비 상태에까지 영향을 미칩니다. 팀은 재제출이 필요한 오류를 유발하지 않으면서 추출 및 패키징 단계를 압축해야 했습니다.
energent.ai를 선택한 이유
팀은 energent.ai를 선택하기 전에 세 가지 접근 방식을 검토했습니다. 추출을 수동으로 처리하는 전용 CAD 워크스테이션 운영자, 내부에서 유지 관리하는 Python 파싱 스크립트, 그리고 직접 파일을 다룰 수 없는 범용 언어 모델이었습니다.
수동 추출은 플래그가 지정된 이상 항목을 최종적으로 시각 확인하는 데는 여전히 필요했지만, 정기적인 추출 및 구조화 단계에는 너무 느리고 작업자 의존적이었습니다. 내부 Python 스크립트는 선박 유형과 고객에 따라 도면 구조가 달라지기 때문에 지속적인 유지 관리가 필요했습니다. 범용 언어 모델은 DXF 형식 규칙을 설명할 수는 있었지만, 파일 자체를 불러와 파싱할 수는 없었습니다.
energent.ai는 단일 세션에서 전체 워크플로를 처리했습니다. DXF 파일을 불러오고, Python을 실행해 텍스트 엔티티를 파싱하고, 출력을 레이블이 붙은 열로 구조화하고, 타이틀 블록 변경을 인플레이스로 적용하고, 업데이트된 DXF를 버전 검증과 함께 DWG로 변환하고, 여섯 개의 납품 파일을 패키징했습니다. 결정적으로, 추출 과정과 의도적으로 분리된 독립 감사 단계도 실행하여 확인 편향을 피했고, 파일이 전달되기 전에 두 가지 이상을 드러냈습니다. 이 감사 동작이야말로 팀이 다른 대안들로는 재현할 수 없었던 기능이었습니다.
워크플로
세션은 재현 가능한 7단계 순서를 따랐습니다.
Step 1 — 도면 수집. 팀은 Hanna DXF 파일을 업로드했습니다. 에이전트는 파일 구조를 파싱하고 세 개의 대상 영역, 즉 탱크 스케줄, Main Particulars 블록, 타이틀 블록을 식별했습니다.
Step 2 — Main Particulars 추출. 에이전트는 7개 행 블록을 추출하여 각 측정 레이블을 값, 단위, 수식어와 매칭했습니다. 출력: XLSX 워크북과 CSV, 각각 "abt."(approximate) 및 "mld."(moulded)와 같은 수식어를 설명하는 평이한 영어 열 주석이 포함되었습니다.
Step 3 — 탱크 표 추출. 전체 탱크 스케줄을 탱크 번호, 프레임 범위, 용량 값을 포함하는 구조화된 표로 추출했습니다. 출력: XLSX 및 CSV.
Step 4 — 타이틀 블록 수정. 요청된 타이틀 블록 텍스트 치환이 DXF 엔티티 레코드에 직접 적용되었습니다. 에이전트는 업데이트된 파일의 텍스트 내용을 검사하여 변경 사항을 확인했습니다.
Step 5 — 독립 감사. 분리된 감사 단계에서 추출 결과를 원본 데이터와 대조 검토했습니다. 두 가지 발견이 기록되었습니다. Tank No. 12가 추출된 탱크 표에서 누락되어 있었으며, 이는 조용히 수용되지 않고 완전성 문제로 표시되었습니다. 또한 Tank 5는 127–172의 프레임 범위를 가지고 있었는데, 인접 항목과 비교할 때 비정상적으로 넓어 보여 원본 도면과의 시각 검토가 필요했습니다.
Step 6 — DXF-to-DWG 변환 및 검증. 업데이트된 DXF는 구조화된 변환 워크플로를 사용해 DWG로 변환되었습니다. 검증 결과는 AC1021 버전, 두 개의 레이아웃(Model 및 Layout1), 그리고 3,753개의 모델스페이스 엔티티를 확인했습니다. 시각적 충실도는 수신 워크스테이션의 글꼴 구성과 SHX 파일 가용성에 따라 달라질 수 있다는 주의 사항도 기록되었습니다.
Step 7 — 납품물 패키징. 여섯 개의 파일이 모두 조립되고 확인되었습니다. 탱크 표 XLSX, 탱크 표 CSV, Main Particulars XLSX, Main Particulars CSV, 업데이트된 DXF, 검증된 DWG입니다.

결과
단일 DXF 입력에서 한 세션 만에 6개의 구조화된 납품물이 생성되었습니다.
- 7개의 선박 치수가 단위 수식어를 보존한 채 레이블이 붙은 XLSX 및 CSV로 추출됨
- 4,560 m³ 화물 용량이 정확히 포착되어 해당 표 행과 연결됨
- DWG 왕복 변환을 통해 3,753개의 모델스페이스 엔티티가 검증됨(AC1021 확인)
- 인계 전에 2개의 감사 플래그가 표면화되어 하위 검토자에게 조용한 오류가 전달되는 것을 방지함
- 조선소 및 선급 인계 표준 형식에 맞춰 6개의 납품 파일이 패키징됨
팀은 또한 재현 가능한 세션 템플릿을 확보했습니다. 동일한 7단계 순서인 수집, Main Particulars 추출, 탱크 표 추출, 타이틀 블록 수정, 감사, 변환, 패키징은 각 프로젝트마다 워크플로를 처음부터 다시 구축하지 않고도 추가 선박 도면에 적용할 수 있습니다.
증빙
"우리는 한 척의 선박 도면 하나에 대해 작업일의 대부분을 썼고, 분류 검토 과정에서야 비로소 드러나는 항목을 여전히 놓치곤 했습니다. 에이전트가 파일을 패키징하기 전에 누락된 탱크와 의심스러운 프레임 범위를 표시해 준 것은, 마지막에 수동으로 덧붙이는 것이 아니라 프로세스 안에 처음부터 내장되어 있어야 했던 바로 그 검출 기능이었습니다." — 선임 해양 설계자, 해양 엔지니어링 컨설팅
에이전트가 생성한 전체 산출물 세트 — 탱크 테이블 XLSX 및 CSV, Main Particulars XLSX 및 CSV, 업데이트된 DXF, 검증된 AC1021 DWG — 는 팀이 조선소 구매 부서와 분류 검사관에게 제출하는 표준 인계 패키지를 그대로 반영합니다. 두 개의 감사 플래그는 후속 검토자에게 판단을 넘기지 않고, 승인 전에 시각적 확인이 필요한 항목이 정확히 무엇인지 알려 줍니다.
신뢰 참고
DWG 출력물은 구조 검증(AC1021 형식, 3,753개의 modelspace 엔티티 확인)을 통과했지만, 정확한 시각적 충실도는 수신 워크스테이션의 글꼴 구성과 SHX 파일 가용성에 따라 달라집니다 — 이는 CAD 워크스테이션 검토 없이는 해결할 수 없는 간극입니다. 감사에서는 추출된 표에서 Tank No. 12가 누락되었고, Tank 5의 frame range(127–172)가 인접 항목과 비교해 잠재적으로 비정상적이라고 명시적으로 표시했습니다. 이 두 항목은 탱크 테이블을 분류 검토에 제출하거나 공식 선박 문서에 반영하기 전에, 사람이 원본 도면을 열어 시각적으로 확인해야 합니다. Main Particulars CSV는 7개의 핵심 행에 대해 구조적으로 완전하지만, 완전한 기술 사양서에 해당하지는 않습니다.
