카테고리 없음

오토캐드 단순하지만 종종 사용되는 Lisp의 종류와 코드 공개

hollobit 2025. 12. 30.

파트너스 활동으로 소정의 수수료를 제공 받습니다.

오토캐드를 사용하는 실무자들 사이에서 LISP는 반복 작업을 줄이고 생산성을 높이는 중요한 자동화 도구다. 복잡한 스크립트보다 오히려 실무에서는 간단하지만 자주 쓰는 명령어 하나가 훨씬 더 유용하게 쓰인다. 이 글에서는 초보자도 바로 복사해 사용할 수 있는 실무 빈도 높은 단순 LISP 코드들을 공개하고, 각 코드의 기능과 활용법도 함께 설명한다.

목차

  • LISP란 무엇인가
  • 기본 구조 이해
  • 자주 쓰는 단순 LISP 5가지
  • 코드 사용 방법
  • 활용 시 주의할 점
  • 실무 적용 정리

LISP란 무엇인가

LISP는 AutoCAD에서 사용되는 자동화 프로그래밍 언어로, 반복 명령어를 스크립트로 저장해 단 한 번의 실행으로 결과를 도출할 수 있게 해준다. 도면 작성, 치수 계산, 도면 정리, 블록 삽입 등 반복적인 작업에 특히 강력하다.
설계자가 자주 사용하는 명령을 간소화할 수 있어, 작은 시간 절약이 쌓이면 전체 프로젝트 효율이 크게 향상된다.

기본 구조 이해

LISP는 (defun ... )으로 시작하며 명령 이름과 로직을 정의한다.
입력값을 받는 경우 C: 명령으로 사용자 명령어를 만들 수 있다.

(defun c:명령어이름 ( / )
  ; 실행 코드
  (princ)
)
  • c:는 AutoCAD 명령어로 등록됨을 의미
  • (princ)는 실행 결과 출력 없이 종료
  • /는 로컬 변수 정의

이 기본 구조만 이해하면 대부분의 단순 LISP 코드는 쉽게 따라할 수 있다.

자주 쓰는 단순 LISP 5가지

1. 객체 한 번에 전체 삭제 (Erase All)

(defun c:ea ( / )
  (command "_.erase" "all" "")
  (princ)
)
  • 기능: 화면의 모든 객체를 한 번에 삭제
  • 활용: 레이어 정리 전에 초기화할 때 유용

2. 모든 객체 레이어 변경

(defun c:chlayer ( / ent )
  (setq ent (ssget "_X"))
  (if ent
    (command "CHPROP" ent "" "LA" "0" "")
  )
  (princ)
)
  • 기능: 전체 객체를 0번 레이어로 변경
  • 활용: 외부 도면 정리 후 일괄 통일 시 사용

3. 모든 텍스트 크기 일괄 변경

(defun c:txtsize ( / ss )
  (setq ss (ssget '((0 . "TEXT"))))
  (if ss
    (command "CHPROP" ss "" "Height" "250" "")
  )
  (princ)
)
  • 기능: 선택된 모든 텍스트 높이를 250으로 변경
  • 활용: 도면 통일성을 위해 글자 크기 정리 시 활용

4. 선택한 객체 레이어 잠금

(defun c:locklay ( / ent lay )
  (setq ent (car (entsel "\n객체 선택: ")))
  (setq lay (cdr (assoc 8 (entget ent))))
  (command "-layer" "lock" lay "")
  (princ)
)
  • 기능: 선택한 객체가 속한 레이어를 잠금
  • 활용: 중요 객체 보호 시 실무에서 자주 사용

5. 객체 길이 측정 후 자동 표시

(defun c:len ( / ent len pt )
  (setq ent (car (entsel "\n길이 측정할 객체 선택: ")))
  (setq len (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent)))
  (setq pt (getpoint "\n표시할 위치 선택: "))
  (command "TEXT" pt "0" "0" (rtos len 2 2))
  (princ)
)
  • 기능: 선이나 폴리선의 길이를 측정 후 텍스트로 자동 입력
  • 활용: 도면 내 실측 표시나 공정 수치 기록 시 활용

코드 사용 방법

  1. 메모장에 코드를 복사하고 .lsp 확장자로 저장
  2. AutoCAD에서 APPLOAD 명령 실행
  3. 저장한 LISP 파일을 로드
  4. 명령어창에서 지정된 명령 입력 (예: ea, len 등)

모든 명령은 c: 접두어로 등록되므로, CAD 명령어 입력창에 바로 사용 가능하다.

활용 시 주의할 점

  • 기존 도면 백업은 필수: 자동 작업으로 오류 발생 시 복구 불가
  • 명령어 중복 주의: 기본 CAD 명령어와 겹치지 않도록 명령 이름 지정
  • 버전 호환성 확인: AutoCAD LT 등 일부 버전에서는 LISP 사용 불가
  • 다중 실행 제한: 일부 명령어는 선택 모드와 충돌할 수 있으므로 작업 중 테스트 필요

실무 적용 정리

설계 작업은 디테일의 반복이다. 오토캐드에서 자주 사용하는 LISP 명령어 몇 가지만 익혀도, 하루 작업 시간이 30분 이상 줄어들 수 있다. 특히 위에서 소개한 LISP는 설계 환경 초기화, 정리, 수치 계산처럼 반복적으로 쓰이는 실무 작업을 빠르게 처리해주므로 효율성이 매우 높다.

작고 단순한 코드 하나가 설계자의 시간을 지켜준다. 지금부터 하나씩 적용해보면서 나만의 자동화 툴셋을 만들어보자.

반응형

댓글