자동화·성능 최적화·협업 — AutoLISP부터 Autodesk Docs까지
개요
같은 작업을 반복한다면 AutoLISP·매크로·스크립트로 자동화할 수 있다. 여기에 PURGE/AUDIT/OVERKILL 같은 정리 명령으로 도면을 가볍게 유지하고, Autodesk Docs·Trace·Share 같은 협업 기능으로 팀과 동기화하면, 개인 생산성이 2~3배, 팀 워크플로가 몇 배로 개선된다.
> 기본 단축키·편집 명령은 01-shortcuts.md, 블록/Xref 운영은 03-blocks-xref.md 참조.
1. AutoLISP — AutoCAD의 내장 스크립트
AutoLISP는 AutoCAD에 1986년부터 탑재된 LISP 파생 언어다. 확장자 .lsp(소스)·.fas/.vlx(컴파일).
1.1 로드 방법
| 방법 | 설명 |
|---|---|
APPLOAD | 대화상자에서 파일 선택 |
(load "C:/my.lsp") | 커맨드라인 직접 로드 |
| Startup Suite | APPLOAD → Contents → 자동 로드 목록 등록 |
acaddoc.lsp | 모든 도면이 열릴 때마다 실행 |
acad.lsp | AutoCAD 시작 시 1회 실행 |
acaddoc.lsp에 몰아넣지 말고 Startup Suite에 개별 등록하는 편이 버전 관리·디버깅에 유리하다.1.2 기본 구조 — Hello World
(defun c:HELLO ()
(princ "\nHello, AutoCAD!")
(princ)
)
defun: 함수 정의.c:접두사: 커맨드라인에서HELLO로 호출 가능하게 만든다.princ: 출력 함수. 마지막(princ)는 반환값(nil)이 커맨드라인에 표시되지 않도록 하기 위한 관례적 호출.
1.3 자주 쓰는 기본 함수
| 함수 | 용도 |
|---|---|
getpoint | 사용자로부터 점 좌표 입력 |
getdist | 거리 입력(두 점 또는 숫자) |
getreal / getint | 실수·정수 입력 |
getstring | 문자열 입력 |
getangle / getorient | 각도 입력 |
entsel | 단일 객체 선택 |
ssget | 선택 세트 생성(필터 지원) |
command | AutoCAD 내장 명령 호출 |
entget / entmod | 객체의 DXF 데이터 읽기·쓰기 |
assoc / cons / subst | 연관 리스트 조작 |
mapcar / foreach | 리스트 순회 |
1.4 실용 루틴 예 — "선택 객체의 레이어 잠금"
(defun c:LL ( / ss i ent lay)
(princ "\nSelect objects to lock their layers: ")
(setq ss (ssget))
(if ss
(repeat (setq i (sslength ss))
(setq ent (ssname ss (setq i (1- i))))
(setq lay (cdr (assoc 8 (entget ent))))
(command "_.LAYER" "_LO" lay "")
)
)
(princ)
)
로드 후 커맨드라인에 LL을 치면 선택한 객체가 속한 레이어가 모두 잠긴다. DXF 코드 8이 엔티티의 레이어 이름을 담고 있다는 점이 핵심이다.
1.5 Visual LISP·COM·.NET
VLIDE: Visual LISP 통합 개발 환경. 디버거·콘솔 포함.(vl-load-com)이후(vla-*)함수군을 통해 ActiveX 객체 모델 조작 가능. 더 강력한 자동화.- .NET(C#/VB):
NETLOAD로 DLL을 로드해 사내 도구를 배포. 전문 개발자 영역. - ObjectARX: C++ 기반. 서드파티 플러그인의 표준 개발 환경.
.lsp 10개만 acaddoc.lsp에 로드해 써도 체감 생산성은 2배가 된다.2. 명령 매크로(Command Macro)
CUI의 "Macro" 필드에 명령 시퀀스를 문자열로 작성해, 툴바·리본 버튼·키보드 단축키에 바인딩한다.
2.1 문법
| 기호 | 의미 |
|---|---|
^C^C | Esc 두 번(진행 중인 명령 중단) |
_ | 언더스코어. 영어 명령 강제(다국어 환경 호환) |
. | 사용자 재정의 무시하고 기본 명령 |
; 또는 줄바꿈 | Enter |
\ | 사용자 입력 대기 |
* | 명령 자체 반복 |
2.2 예시
현재 레이어를 DIMS로 전환 후 선형 치수 시작:
^C^C_-LAYER;S;DIMS;;_DIMLINEAR
회사 표준 블록 TB-A3을 Paper space 원점에 삽입:
^C^C_-INSERT;TB-A3;0,0;1;1;0
*을 붙이면 명령이 자동 반복된다. 연속 삽입·연속 주석 달기에 유용.3. SCR 스크립트 & 배치 실행
3.1 SCR 파일
.scr은 커맨드라인 입력을 한 줄씩 기록한 단순 텍스트 파일이다.
ZOOM EXTENTS
PURGE ALL * N
AUDIT Y
QSAVE
SCRIPT 명령으로 로드 후 실행되거나, AutoCAD 실행 시 /b 옵션으로 지정한다.
3.2 대량 DWG 일괄 처리
- ScriptPro 2.0 (Autodesk 무료): SCR과 DWG 목록을 연결해 배치 실행.
- accoreconsole.exe (AutoCAD 2013+): GUI 없이 백그라운드에서 DWG를 열고 SCR을 실행. 수천 개 DWG를 서버에서 야간 처리할 때 정석.
FILEDIA 0 · CMDDIA 0으로 비대화상자 모드로 전환하고, 종료 시 복원한다.4. 성능 최적화 — 도면을 가볍게 유지하기
4.1 PURGE
PURGE(PU)는 사용되지 않는 정의(레이어·블록·선종·문자 스타일·치수 스타일·재료 등)를 제거한다.
| 옵션 | 설명 |
|---|---|
| 기본 대화상자 | 체크 항목 선택 |
-PURGE | 커맨드라인 자동화 |
-PURGE R | Registered Applications(Regapps) 정리 |
| Purge nested items | 블록 안의 블록까지 |
| Purge zero-length geometry | 제로 길이 선·빈 문자 |
-PURGE A * N을 2~3회 반복하면 대부분 정리된다.4.2 AUDIT / RECOVER / RECOVERALL
AUDIT: 현재 도면의 무결성 검사. "Fix errors? Y"로 자동 수정.RECOVER: 손상된 DWG를 복구 모드로 열기. 일반 OPEN으로 안 열리는 파일에 사용.RECOVERALL: 현재 DWG와 모든 Xref를 통합 복구.
RECOVER → (3) .bak 파일 복원 → (4) 자동저장 .sv$(SAVEFILEPATH) → (5) 상용 복구 서비스.4.3 OVERKILL
OVERKILL은 같은 위치에 겹친 중복 객체나 동일 직선상의 분절된 선들을 하나로 정리한다.
- 레이어·색·선종 필터.
- Numeric fuzz(공차): 약간 어긋난 객체도 하나로 취급.
- Optimize polylines: 연속된 직선 세그먼트 단순화.
- Combine co-linear objects: 동일선 상 객체 병합.
4.4 시스템 변수 권장값
| 변수 | 기본 | 권장 | 설명 |
|---|---|---|---|
SAVETIME | 10 | 5 | 자동 저장 주기(분) |
ISAVEBAK | 1 | 1 | .bak 백업 생성 |
INDEXCTL | 0 | 3 | Xref 부분 로드 최적화 |
WHIPTHREAD | 1 | 3 | 멀티스레드 디스플레이 |
VTENABLE | 15 | 0 | 줌·팬 애니메이션 해제(속도↑) |
BACKGROUNDPLOT | 2 | 0~2 | 대량 Publish는 0이 안전 |
4.5 대형 도면 트러블 대응
| 증상 | 원인 후보 | 조치 |
|---|---|---|
| 느린 열기 | 많은 Xref·거대 이미지 | INDEXCTL ↑, 이미지 해상도 ↓ |
| 느린 저장 | Drawing History 활성 | History 끄기, -PURGE |
| 선택 지연 | 중복 객체 | OVERKILL |
| 해치 느림 | 조밀 패턴 | Scale ↑, Solid 대체, Draw Order 뒤로 |
| REGEN 오래 | 과다 객체 | 불필요 레이어 Freeze, VP Freeze |
| 플롯 중 멈춤 | BACKGROUNDPLOT | 값 0, PDF 품질 조정 |
5. 협업 — Autodesk Docs·AutoCAD Web·Share·Trace
5.1 Autodesk Docs / Construction Cloud
- 프로젝트 공용 파일 저장소. DWG·PDF 리뷰·Markup·발행 관리가 통합됨.
- AutoCAD에서 Open from Autodesk Docs / Save to Autodesk Docs로 직접 열고 저장.
- 버전·권한·활동 로그가 자동 기록.
5.2 AutoCAD Web / Mobile
- 브라우저·태블릿에서 DWG 열기·간단 수정·측정·주석.
- 현장에서 빠른 확인·마크업에 적합. 풀기능 편집은 데스크톱에서.
5.3 SHARE — 링크 공유
SHARE는 현재 도면을 Autodesk Viewer에서 열 수 있는 링크로 만든다. 수신자는 별도 설치 없이 URL만으로 확인 가능. 기본 유효 기간은 7일.
5.4 Drawing History / COMPARE / XCOMPARE
- Autodesk Docs 등 버전 관리 저장소에 있는 DWG는 Drawing History에서 슬라이더로 과거 버전과 비교할 수 있다.
COMPARE/XCOMPARE: 두 DWG의 차이를 색으로 오버레이.
5.5 Trace (2022+)
TRACE는 원본 도면을 수정하지 않고 반투명 레이어에 주석·수정안을 덮어씌우는 기능이다. 웹·모바일에서 만든 Trace를 데스크톱에서 불러와 승인·반영할 수 있다.
Markup Assist: PDF·이미지 마크업을 AI로 인식해 Trace 레이어의 편집 가능한 객체로 변환 제안.
5.6 Markup Import (2023+, 2026 개선)
MARKUPIMPORT는 외부 PDF·PNG·JPG 마크업을 Trace 레이어로 삽입한다. 2026에서는 Autodesk Docs와 양방향 동기화되어, Docs에서 수정한 마크업이 AutoCAD 쪽에도 자동 반영된다.
5.7 eTransmit — 외부 배포의 표준
ETRANSMIT은 현재 DWG + 모든 Xref + 이미지 + SHX/TTF 폰트 + 플롯 스타일을 한 개의 ZIP 또는 폴더로 묶는다. 단순 파일 복사는 참조·폰트가 빠지기 쉬우므로, 외주·감리·입찰 제출에는 반드시 eTransmit을 사용한다.
5.8 Trusted DWG
Autodesk 정품·인증된 애플리케이션에서 생성·저장된 DWG를 의미한다. 타 CAD로 저장된 DWG를 열면 "Not a Trusted DWG" 경고가 뜰 수 있다. 기능상 큰 차이는 없지만 체결·호환 사고 예방을 위해 중요한 도면은 AutoCAD에서 한번 열어 저장해두는 것을 권한다.
6. 협업 인프라 — 표준 배포
- DWS + CHECKSTANDARDS: 회사·국가 표준 검사.
- Sheet Set: 프로젝트 시트 일관 관리(상세는
03-blocks-xref.md). - Block Library 네트워크 Tool Palette: 전 직원 동일 블록.
- CUIx Partial 배포: 동일 리본·단축키·매크로.
- Profile(.arg): OPTIONS 세팅을 export/import로 동기화.
7. 실무 체크리스트
- 자주 쓰는 LSP는 Startup Suite에 등록됐다
-
acaddoc.lsp가 비대해지지 않도록 관리된다 - 사내 표준 매크로는 Partial CUIx로 배포된다
- 야간 일괄 처리는 accoreconsole.exe 기반이다
- 주간 정기 유지보수 SCR(AUDIT→PURGE→SAVE)이 실행된다
-
SAVETIME=5,ISAVEBAK=1로 자동 저장·백업이 활성화돼 있다 - 대형 Xref에
INDEXCTL=3이 적용됐다 - OVERKILL이 스캔·PDF→DWG 결과물에 적용됐다
- 외부 제출은
ETRANSMIT으로 패키징된다 - Autodesk Docs 또는 동등한 VCS가 팀 저장소다
- Markup Import·Trace 워크플로가 팀에 공유됐다
- Profile
.arg가 신규 입사자 세팅에 사용된다
참고 자료
- CADTutor — AutoLISP Quick Start: https://www.cadtutor.net/tutorials/autolisp/quick-start.php
- AfraLISP — The Basics: https://www.afralisp.net/autolisp/tutorials/the-basics-part-1.php
- CADnotes — Make Your Own Commands: https://www.cad-notes.com/make-your-own-commands-in-autocad/
- AutoLISP Developer's Guide (PDF): https://docs.autodesk.com/ACDMAC/2013/ENU/PDFs/acdmac_2013_autolisp_developers_guide.pdf
- Autodesk — Purge/Audit/Recover: https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/Optimizing-the-AutoCAD-drawing-file-Purge-Audit-Recover.html
- GIFluent — Purge/Audit/Overkill/Recover: https://gifluent.com/autocad-purge-audit-overkill-recover-commands/
- SourceCAD — Clean Drawings: https://thesourcecad.com/clean-autocad-drawings/
- Cadalyst — AutoCAD 2026 AI·Collaboration: https://blog.cadalyst.com/cadmanagement/autocad-2026-focuses-on-productivity-with-speed-ai-and-collaboration
- Autodesk — AutoCAD Features: https://www.autodesk.com/products/autocad/features
- IMAGINiT — Cleaning AutoCAD Drawings: https://resources.imaginit.com/building-solutions-blog/five-efficient-ways-of-cleaning-autocad-drawings
본 자료는 실무자 학습·참고 목적으로 편집된 요약이며, Autodesk, Inc.와 무관합니다. AutoCAD®는 Autodesk, Inc.의 등록상표입니다.