캐드 리습(LISP) 쓰는 법 — 작업을 더 빠르게
리습이란
리습(LISP)은 캐드에 내장된 자동화 프로그래밍 언어다. 쉽게 말하면, 내가 자주 쓰는 명령어 조합을 하나의 단축 명령으로 묶어두는 것. 직접 만들 수도 있고, 인터넷에서 누군가 만들어 공유한 걸 그냥 가져다 쓸 수도 있다.
리습 파일 확장자는 .lsp. 메모장으로 열면 코드가 그냥 다 보인다.
AutoCAD와 ZWCAD 둘 다 리습을 지원한다. 사용법도 거의 동일.
리습 파일 불러오는 법 (APPLOAD)
.lsp 파일을 캐드에 불러오는 방법.
AutoCAD / ZWCAD 공통
명령창에 APPLOAD 입력 → Enter
(또는 단축키 AP)
- 응용프로그램 로드 창에서
.lsp파일 위치로 이동 - 파일 선택 → 로드 클릭 → 닫기
- 명령창에 해당 리습의 명령어 입력 → 실행
캐드를 껐다 켜면 다시 불러와야 한다. 매번 로드하기 번거롭다면 아래 자동 로드 설정 사용.
캐드 시작할 때 자동으로 로드하기
- 명령창에 APPLOAD 입력
- 하단 목차(Contents) → 시작하기 세트(Startup Suite) → 추가
- 사용할
.lsp파일 선택 → 열기 → 닫기
이후 캐드 실행할 때마다 자동 로드. 한 번만 설정해두면 끝.
신뢰할 수 없는 위치 경고창이 뜬다면
OP → 파일 탭 → 신뢰할 수 있는 위치 → 추가 → 리습 파일이 있는 폴더 등록
![]() |
| APPLOAD를 치면 뜨는 창화면 |
![]() |
| Startup Suite를 클릭하면 뜨는 창화면 |
실무에서 바로 쓰는 리습 예시
아래는 실제로 쓰고 있는 리습들이다. 직접 코드를 짤 필요 없이 파일만 로드하면 바로 사용 가능.
TT — 문자 내용 복사
원본 텍스트(또는 치수)를 선택하면 같은 내용을 다른 문자 객체에 한 번에 덮어쓴다. 같은 수치나 문구를 여러 곳에 적용할 때 유용.
명령어: TT
- TT 입력 → 원본 객체 선택
- 내용을 바꿀 문자/치수 객체들 선택 → Enter
BN — 블록 이름 변경
블록을 선택하고 새 이름을 입력하면 블록 이름이 변경된다. 기존에는 블록 분해 후 재정의해야 했던 작업을 한 번에 처리.
명령어: BN
- BN 입력 → 이름 바꿀 블록 선택
- 새 블록 이름 입력 → Enter
DF / AF / AA — 레이어 ON/OFF 토글
객체를 클릭하면 그 객체가 속한 레이어를 끄거나 켜는 기능. 레이어 창 열 필요 없이 화면에서 바로 처리.
- DF — 클릭한 객체의 레이어 끄기
- AF — 선택한 레이어만 남기고 나머지 전부 끄기
- AA — 꺼진 레이어 전부 켜기
DIET — 파일 용량 줄이기 (퍼지 후 저장)
도면 파일이 불필요하게 커졌을 때 한 번에 정리. AUDIT, PURGE, 유령 객체 삭제, 축척 목록 정리까지 자동으로 실행하고 저장까지 마무리.
명령어: DIET
실행하면 자동으로 전부 처리. 대용량 도면 정리할 때 특히 효과적.
HPL — 해치 바운더리 생성
해치 영역의 경계선을 폴리선으로 자동 생성. 면적 계산이나 경계 편집이 필요할 때 사용.
명령어: HPL
KK — 면적 계산 + 바운더리 생성
클릭한 점 기준으로 바운더리를 자동 생성하고, 면적 수치를 도면에 바로 텍스트로 기입. 면적 계산 후 일일이 입력할 필요 없음.
명령어: KK
- KK 입력 → 텍스트 높이 입력
- 면적을 구할 영역 안쪽 클릭
- 면적 수치가 해당 위치에 자동 기입
NP — 선택한 숫자 문자 합산
도면 안에 흩어져 있는 숫자 텍스트들을 선택하면 전체 합계를 계산해서 지정 위치에 기입. 수량 합산 작업에 유용.
명령어: NP
- NP 입력 → 합산할 숫자 텍스트들 선택 → Enter
- 결과값 기입할 위치 클릭
IL — 단열재 표현 자동 그리기
두 점을 지정하면 단열재(insulation) 패턴을 자동으로 그려준다. 건축 도면 작업 시 반복 드로잉 없이 빠르게 표현 가능.
명령어: IL
- IL 입력 → 두께 입력
- 시작점 → 끝점 클릭
기타 유용한 리습 - 리습 파일 만들어보기
직접 코드를 짤 필요 없다. 아래처럼 이미 만들어진 리습을 가져다 쓰는 것 만으로도 작업 속도가 확 달라진다. 메모장을 열고 각 내용을 복사하여 붙여 넣은 후, 파일이름은 명령어.lsp 라고 저장하면 된다. 파일 이름에 어떤 기능인지 설명도 달아주면, 추후 리습 파일 관리가 편해진다.
1. 선택한 객체 레이어로 현재 레이어 바꾸기
작업 중 다른 레이어 객체를 클릭하면 그 레이어로 바로 전환. 매번 레이어 창 열 필요 없음.
(defun c:SL ()
(setvar "clayer"
(cdr (assoc 8 (entget (car (entsel "\n레이어 바꿀 객체 선택: "))))))
(princ)
)저장 → 로드 후 명령창에 SL 입력
2. 선택 객체를 현재 레이어로 이동
다른 레이어에 있는 객체를 현재 레이어로 한 번에 옮길 때.
(defun c:ML ()
(command "_.chprop" (ssget) "" "la" (getvar "clayer") "")
(princ)
)저장 → 로드 후 명령창에 ML 입력
3. 문자 높이 일괄 변경
여러 문자 객체의 높이를 한 번에 바꿀 때. 일일이 선택해서 특성 바꾸는 수고 없음.
(defun c:TH ()
(setq h (getreal "\n변경할 문자 높이 입력: "))
(setq ss (ssget '((0 . "TEXT,MTEXT"))))
(setq i 0)
(while (< i (sslength ss))
(setq en (ssname ss i))
(setq ed (entget en))
(entmod (subst (cons 40 h) (assoc 40 ed) ed))
(setq i (1+ i))
)
(princ)
)저장 → 로드 후 명령창에 TH 입력
리습 파일 어디서 구하나
직접 만들기 어렵다면 아래 사이트에서 검색해서 가져다 쓰면 된다.
- lee-mac.com — 영문이지만 실무용 리습이 가장 많음
- afralisp.net — 다양한 리습 예제
- vbcad.co.kr — 국내 캐드 커뮤니티, 한글 리습 공유
- 네이버 카페 고캐드(gocad) — 국내 사용자들이 직접 만든 리습 다수



댓글 없음:
댓글 쓰기