톈정(天正) 엔티티가 포함된 DWG 도면 지원
이 페이지는 톈정 소프트웨어(天正建筑, TArch 및 기타 톈정 버티컬 제품)로 생성된 DWG 도면을 범용 DWG 파서가 완전히 파싱하지 못하는 이유를 설명하고, 업계 표준 우회 방법인 해당 도면을 T3 형식 DWG로 변환한 뒤 파싱하고 렌더링하는 방법을 소개합니다.
배경: 톈정 엔티티를 직접 파싱할 수 없는 이유
일반 DWG 엔티티와 달리 톈정 엔티티(벽, 문, 창, 기둥, 치수 주석 및 기타 지능형 건축 객체)는 톈정 소프트웨어가 사적으로 정의한 데이터 형식을 사용합니다. 이들은 기본 AutoCAD DWG 표준 형식의 일부가 아닙니다.
DWG 파일에서 이러한 톈정 전용 객체는 사용자 정의 엔티티(프록시 엔티티)로 저장됩니다. 이들의 내부 데이터는 톈정 자체의 ObjectARX 런타임에서만 의미가 있습니다. 그 결과:
- 어떤 범용 상용 DWG 파서도 이러한 독점 톈정 엔티티를 직접 파싱할 수 없습니다.
- 범용 파서(MLightCAD 포함)는 해당 도면의 표준 AutoCAD 엔티티만 렌더링할 수 있으며, 톈정 사용자 정의 엔티티는 건너뛰거나 프록시 그래픽으로 표시됩니다.
업계의 일반적인 해결책: T3 형식으로 변환
업계의 CAD 뷰어 소프트웨어 벤더들은 이 문제를 유사한 방식으로 처리합니다. 일반적인 파이프라인은 다음과 같습니다:
DWG with Tianzheng entities
|
| (1) Run Tianzheng runtime / conversion tool on the server
v
T3 format DWG
|
| (2) Parse with a standard DWG parser
v
Rendered drawing in the viewer- 서버 측에서 톈정 환경이나 변환 도구를 실행합니다. 톈정 독점 엔티티가 포함된 도면은 톈정 데이터 형식을 이해하는 소프트웨어로 처리됩니다.
- DWG를 T3 형식으로 변환합니다. T3(Tianzheng 3)는 호환성을 위해 설계된 내보내기 형식입니다. 변환 중에 모든 톈정 전용 객체는 일반 DWG 엔티티로 분해("explode")됩니다. 예를 들어 벽은 선/폴리라인이 되고, 문과 창은 블록 참조가 되며, 톈정 주석은 표준 치수/텍스트 엔티티가 됩니다.
- 변환된 파일을 표준 DWG 파서로 파싱합니다. 톈정 독점 객체가 사라지고 표준 DWG 엔티티만 남으므로, 이제 어떤 범용 DWG 파서든 도면을 올바르게 읽고 표시할 수 있습니다.
다시 말해 T3 형식으로 변환하면 도면의 톈정 전용 객체가 일반 DWG 엔티티로 바뀌므로 범용 DWG 파서가 별도 작업 없이 동작합니다.
오픈 소스 T3 변환 도구 참조
참고로 이 변환을 자동화하는 오픈 소스 명령줄 도구가 있습니다:
- t3-conv — UI 없이 배치 방식으로 톈정 DWG 파일을 T3 DWG 파일로 변환하는 Windows 명령줄 도구입니다.
이 도구는 내부적으로 실제 톈정 런타임을 구동하므로, 변환 머신에는 여전히 톈정 TArch와 AutoCAD가 설치되어 있어야 합니다. 자세한 요구 사항, 구성 및 사용법은 프로젝트 README를 참조하십시오.
권장 사항: 전처리 단계 추가
비즈니스 시나리오에 톈정 도면이 많이 포함된다면, 도면이 뷰잉 파이프라인에 들어가기 전에 전처리 단계를 추가할 것을 권장합니다:
Upload / Import
|
v
Detect Tianzheng entities -> If present, convert to T3 DWG
|
v
Store converted DWG
|
v
MLightCAD parsing & rendering- 들어오는 DWG에 톈정 사용자 정의 엔티티가 포함되어 있는지 감지합니다(예: 톈정 전용 프록시 엔티티 클래스 이름이나 애플리케이션 시그니처 확인).
- 포함되어 있다면 T3 변환을 실행하고(예: Windows 서버의
t3-conv사용) 변환된 파일을 저장합니다. - 변환된 T3 DWG를 MLightCAD에 제공합니다. 이전에는 보이지 않던 모든 톈정 객체가 이제 표준 엔티티로 렌더링됩니다.
이렇게 하면 뷰어 자체는 경량이고 파서 독립적으로 유지하면서도 최종 사용자에게 톈정 도면이 완전히 표시되도록 보장할 수 있습니다.