AutoCAD 도면 작업 시 스케치업, 라이노, 인벤터 등 외부 프로그램에서 가져온 도면에는 TrueColor(RGB 직접 지정) 방식으로 색상이 설정된 객체가 포함되는 경우가 많습니다.

TrueColor는 약 1,600만 가지 색상을 표현할 수 있지만, 플로터 출력 설정(CTB/STB)은 ACI(AutoCAD Color Index, 1~255) 기반으로 구성되어 있어 TrueColor 객체는 출력 시 선 굵기나 색상이 의도대로 적용되지 않는 문제가 발생합니다.

본 기술 문서에서는 도면 내 TrueColor 객체를 가장 유사한 ACI 인덱스 색상으로 일괄 변환하는 AutoCAD .NET AddIn을 소개합니다.

활용 목적

주요 기능

1. 엔티티 색상 변환

객체에 직접 지정된 TrueColor를 RGB 유클리디안 거리 알고리즘을 이용해 가장 유사한 ACI 색상으로 변환합니다.

거리² = (R1-R2)² + (G1-G2)² + (B1-B2)²

ACI 1~255 전체 팔레트를 순회하며 위 거리가 최소인 색상을 선택합니다.

2. 레이어 색상 변환

레이어 자체에 지정된 TrueColor도 함께 변환할 수 있습니다. 객체 색상이 ByLayer인 경우에도 레이어 색상이 TrueColor이면 출력 시 동일한 문제가 발생하므로, 엔티티 변환과 함께 처리하는 것을 권장합니다.

3. 블록 속성 텍스트 변환

인벤터에서 변환된 도면의 표제란처럼 블록 내 동적 속성 텍스트로 구성된 객체도 함께 처리합니다. 일반 엔티티 순회만으로는 처리되지 않는 이 항목을 AddIn에서 별도로 순회하여 변환합니다.

4. 블록 내부 엔티티 처리

블록 정의 내부의 엔티티까지 처리할 수 있으며, 처리 시 해당 블록을 참조하는 모든 삽입본에 변경이 동시 반영됩니다.

5. Undo 지원

AutoCAD Transaction 기반으로 구현되어 변환 후 Ctrl+Z 한 번으로 전체 롤백이 가능합니다.

명령어 실행 및 옵션

AddIn 로드 후 명령창에 TRUECOLCONV를 입력하면 아래와 같은 대화상자가 실행됩니다.

옵션설명
엔티티 색상 변환객체에 직접 지정된 TrueColor 변환
레이어 색상 변환레이어 자체의 TrueColor 변환
블록 내부 엔티티도 처리블록 정의 내부 엔티티까지 포함

변환 완료 후 대화상자에서 변환/스킵 건수를 즉시 확인할 수 있습니다.

AutoCAD 자동 로드 설정

매번 NETLOAD로 수동 로드하는 대신, acaddoc.lsp 파일을 이용해 AutoCAD 시작 시 자동으로 로드할 수 있습니다.

AutoCAD Support 폴더(C:\Users\(사용자명)\AppData\Roaming\Autodesk\AutoCAD 2024\R24.3\kor\Support\)의 acaddoc.lsp 파일에 아래 내용을 추가합니다.

(command "NETLOAD" "C:\\경로\\TrueColorConverter.dll")

또한 OPTIONS → 파일 탭 → 신뢰할 수 있는 위치에 DLL 폴더를 등록해야 합니다.

지원 환경

문의

담당자 : (주)이디앤씨 기술지원팀 이선준
E-mail : sj.lee@ednc.com

답글 남기기