AutoCAD 도면 작업 시 스케치업, 라이노, 인벤터 등 외부 프로그램에서 가져온 도면에는 TrueColor(RGB 직접 지정) 방식으로 색상이 설정된 객체가 포함되는 경우가 많습니다.
TrueColor는 약 1,600만 가지 색상을 표현할 수 있지만, 플로터 출력 설정(CTB/STB)은 ACI(AutoCAD Color Index, 1~255) 기반으로 구성되어 있어 TrueColor 객체는 출력 시 선 굵기나 색상이 의도대로 적용되지 않는 문제가 발생합니다.
본 기술 문서에서는 도면 내 TrueColor 객체를 가장 유사한 ACI 인덱스 색상으로 일괄 변환하는 AutoCAD .NET AddIn을 소개합니다.

활용 목적
- 외부 3D 프로그램(인벤터, 스케치업, 라이노 등)에서 변환된 도면의 출력 색상 정리
- CTB/STB 기반 플로터 출력 설정을 올바르게 적용하기 위한 색상 정규화
- 도면 납품 전 색상 표준화 작업
- 표제란 등 블록 내 속성 텍스트의 색상 일괄 처리
주요 기능
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 폴더를 등록해야 합니다.
지원 환경
- AutoCAD 2020 이상 (net48 / ObjectARX .NET API 기준)
- 동일 DLL로 AutoCAD 2020~2025 모든 버전 지원
문의
담당자 : (주)이디앤씨 기술지원팀 이선준
E-mail : sj.lee@ednc.com
