12월, 2025의 게시물 표시
이미지
  도면을 작성하다보면 레이어, 블럭 등 사용하지 않는 데이터가 존재할 경우 도면이 무거워 집니다. Command 명령을 이용하여 Purge 기능을 이용하여 불필요한 Block을 삭제하는 Lisp을 만들어 보겠습니다. ;;; 블록 제거 프로그램 ;;; ------------------------------------------------------------------- ;;; c : PurgeUnusedBlocks 명령 정의 (defun c :PurgeUnusedBlocks () (vl-load-com) ; COM 기능을 사용하지 않아도 습관적으로 Load (princ "\n사용하지 않는 블록들을 도면에서 제거합니다." ) ;; AutoCAD의 -PURGE 명령을 비대화형으로 실행 ;; "B" 는 Blocks (블록) 유형을 의미합니다. ;; "*" 는 모든 블록 이름을 의미합니다. ;; "N" 은 각각의 항목을 확인할지 묻는 질문에 "아니오" 를 의미합니다 (비대화형). (command "-PURGE" "B" "*" "N" ) (princ "\n사용하지 않는 블록 제거가 완료하였습니다." ) (princ) ; 마지막 값 출력 방지 ) ;;; 프로그램 로드 시 메시지 (princ "\n'PurgeUnusedBlocks' 명령어가 로드되었습니다." ) (princ) 가.사용 방법 파일 저장 : 위 코드를 복사해서  purgeblocks.lsp  같은 이름으로 저장해주세요.  오토캐드에서 로드 : 오토캐드를 실행하세요. 명령 프롬프트에  APPLOAD 를 입력하고 Enter를 누르세요. (또는 '응용프로그램 로드' 메뉴를 찾으세요.) '응용프로그램 로드/언로드' 대화 상자가 뜨...