자동화·성능 최적화·협업 — AutoLISP부터 Autodesk Docs까지

AutoCAD · AutoLISP & Automation

개요

같은 작업을 반복한다면 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 SuiteAPPLOAD → Contents → 자동 로드 목록 등록
acaddoc.lsp모든 도면이 열릴 때마다 실행
acad.lspAutoCAD 시작 시 1회 실행
Tip 개인·팀 유틸리티는 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선택 세트 생성(필터 지원)
commandAutoCAD 내장 명령 호출
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++ 기반. 서드파티 플러그인의 표준 개발 환경.
Tip 일반 사용자가 굳이 .NET까지 배울 필요는 없다. 동료가 만든 .lsp 10개만 acaddoc.lsp에 로드해 써도 체감 생산성은 2배가 된다.

2. 명령 매크로(Command Macro)

CUI의 "Macro" 필드에 명령 시퀀스를 문자열로 작성해, 툴바·리본 버튼·키보드 단축키에 바인딩한다.

2.1 문법

기호의미
^C^CEsc 두 번(진행 중인 명령 중단)
_언더스코어. 영어 명령 강제(다국어 환경 호환)
.사용자 재정의 무시하고 기본 명령
; 또는 줄바꿈Enter
\사용자 입력 대기
*명령 자체 반복

2.2 예시

현재 레이어를 DIMS로 전환 후 선형 치수 시작:

^C^C_-LAYER;S;DIMS;;_DIMLINEAR

회사 표준 블록 TB-A3을 Paper space 원점에 삽입:

^C^C_-INSERT;TB-A3;0,0;1;1;0
Tip 매크로 앞에 *을 붙이면 명령이 자동 반복된다. 연속 삽입·연속 주석 달기에 유용.

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를 서버에서 야간 처리할 때 정석.
Tip 정기 유지보수 SCR(AUDIT → -PURGE A * N → SAVE)을 모든 DWG에 주간 실행하면 파일 비대화·손상 징후를 예방할 수 있다.
주의 SCR 내부에서 대화상자(FILEDIA=1 상태)가 뜨면 자동화가 멈춘다. 스크립트 시작 시 FILEDIA 0 · CMDDIA 0으로 비대화상자 모드로 전환하고, 종료 시 복원한다.

4. 성능 최적화 — 도면을 가볍게 유지하기

4.1 PURGE

PURGE(PU)는 사용되지 않는 정의(레이어·블록·선종·문자 스타일·치수 스타일·재료 등)를 제거한다.

옵션설명
기본 대화상자체크 항목 선택
-PURGE커맨드라인 자동화
-PURGE RRegistered Applications(Regapps) 정리
Purge nested items블록 안의 블록까지
Purge zero-length geometry제로 길이 선·빈 문자
Tip 한 번 PURGE로 안 지워지는 정의가 남으면, 해당 정의가 다른 정의 안에서 여전히 참조된 것이다. -PURGE A * N을 2~3회 반복하면 대부분 정리된다.

4.2 AUDIT / RECOVER / RECOVERALL

  • AUDIT: 현재 도면의 무결성 검사. "Fix errors? Y"로 자동 수정.
  • RECOVER: 손상된 DWG를 복구 모드로 열기. 일반 OPEN으로 안 열리는 파일에 사용.
  • RECOVERALL: 현재 DWG와 모든 Xref를 통합 복구.
Tip DWG를 열지 못할 때 순서는 (1) DWG TrueView 같은 뷰어 → (2) RECOVER → (3) .bak 파일 복원 → (4) 자동저장 .sv$(SAVEFILEPATH) → (5) 상용 복구 서비스.

4.3 OVERKILL

OVERKILL은 같은 위치에 겹친 중복 객체나 동일 직선상의 분절된 선들을 하나로 정리한다.

  • 레이어·색·선종 필터.
  • Numeric fuzz(공차): 약간 어긋난 객체도 하나로 취급.
  • Optimize polylines: 연속된 직선 세그먼트 단순화.
  • Combine co-linear objects: 동일선 상 객체 병합.
Tip PDF→DWG 변환·스캔 트레이싱 결과물은 겹친 선이 수천 개에 달한다. OVERKILL이 정리 1순위.

4.4 시스템 변수 권장값

변수기본권장설명
SAVETIME105자동 저장 주기(분)
ISAVEBAK11.bak 백업 생성
INDEXCTL03Xref 부분 로드 최적화
WHIPTHREAD13멀티스레드 디스플레이
VTENABLE150줌·팬 애니메이션 해제(속도↑)
BACKGROUNDPLOT20~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로 직접 열고 저장.
  • 버전·권한·활동 로그가 자동 기록.
Tip Windows 공유·SharePoint 같은 전통적 저장소 대비 도면 잠금버전 히스토리가 내장된 것이 강점. 5명 이상 팀이라면 전환을 권할 만하다.

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로 동기화.
Tip 신규 입사자 세팅을 자동화하려면 로그인 스크립트에 (1) Profile import (2) Template 경로 매핑 (3) Startup Suite에 사내 LSP 등록을 포함시킨다.

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.의 등록상표입니다.

이 사이트를 북마크에 추가하세요!
PC: Ctrl + D
모바일: 브라우저 메뉴 → 북마크 추가