오토캐드 선종류(LineType) 삭제 오류 해결 및 리습(LISP) 활용법
오토캐드(AutoCAD)에서는 다양한 선 스타일(LineType)을 사용하여 도면의 정보를 구분하고 표현합니다. 하지만 불필요한 선 종류를 정리하려고 선종류 관리자(LineType Manager)에서 삭제를 시도할 경우, "선택된 선종류를 삭제할 수 없습니다."라는 메시지와 함께 삭제되지 않는 오류가 발생하는 경우가 있습니다.
LineType 삭제가 안 되는 주요 원인
보이지 않는 블록 내부나 외부 참조(XREF), 숨겨진 객체에서 해당 선종류를 사용하고 있을 수 있습니다. 이럴 경우 단순한 PURGE 명령만으로는 삭제되지 않으며, 내부 참조까지 정리해줄 수 있는 보조 방법이 필요합니다.
리습(LISP)을 이용한 선종류 삭제 방법
- 메모장을 열고 아래 코드를 복사하여 붙여넣습니다.
(defun c:ltdel ( / acad doc blocks)
(vl-load-com)
(setq
acad (vlax-get-acad-object)
adoc (vlax-get acad 'activedocument)
blocks (vlax-get adoc 'blocks)
)
(vlax-for block blocks
(vl-catch-all-error-p (vl-catch-all-apply 'vla-delete (list block)))
)
(vla-purgeall adoc)
(mapcar 'vlax-release-object (list acad adoc blocks))
(princ)
)
- 파일 이름을
LTDEL.LSP로 저장합니다. (파일 형식: 모든 파일 / 인코딩: ANSI) - 오토캐드를 실행하고 삭제할 도면을 연 후
APPLOAD명령으로 LSP 파일을 로드합니다. - 보안 경고가 뜨면 "이 응용 프로그램을 신뢰"에 체크하고 로드하세요.
LTDEL명령을 실행하면, 삭제되지 않던 선종류가 정리됩니다.
리습 없이도 가능한 대안 방법
- WBLOCK 명령으로 필요한 객체만 새 도면으로 내보낸 뒤, 새 파일에서 PURGE → ALL 실행
- OVERKILL, LAYDEL 명령과 조합하여 중복 선종류 제거
- 외부참조는
XREF명령으로 분리 후 관리
도움이 되는 추가 명령어
PURGE– 사용하지 않는 스타일 및 요소 제거AUDIT– 도면 오류 검사 및 복구SCALELISTEDIT → R → Y– 스케일 리스트 초기화BEDIT– 블록 내부 열기
자주 묻는 질문(FAQ)
Q: 선종류가 화면에 없는데도 삭제되지 않는 이유는?
A: 블록 내부나 XREF, 숨겨진 객체에서 사용 중인 경우가 많습니다. BEDIT로 블록 편집하거나 WBLOCK으로 새로 작성하는 것이 좋습니다.
Q: PURGE 명령으로도 선종류가 정리되지 않아요.
A: 사용 중인 항목(치수, 스타일, 블록 등)에 포함된 경우 삭제가 되지 않습니다. 리습이나 객체 내보내기로 해결합니다.
Q: 리습 파일이 실행되지 않습니다.
A: 확장자가 .lsp인지, APPLOAD로 신뢰 위치에 로드되었는지, 명령어를 정확히 입력했는지 확인하세요.
Q: 파일 용량은 줄지 않는데 선종류는 정리되었습니다. 왜 그런가요?
A: 남은 스타일, 오브젝트 스케일, 정의 정보가 정리되지 않았을 수 있습니다. PURGE 고급 옵션과 SCALELISTEDIT, AUDIT을 함께 사용하세요.
Q: 협업 중 타 도면에서 불필요한 선종류가 너무 많습니다. 빠르게 정리하려면?
A: 도면 삽입 전에 WBLOCK으로 필요한 객체만 추출하고 새로운 파일에서 정리하는 것이 가장 확실합니다.
실무자를 위한 선종류 관리 팁
- 불필요한 선종류는 블록 생성 전 정리
- 다른 도면 삽입 시
AUDIT → PURGE → OVERKILL순으로 실행 - LineType Scale(LTS)은 전역 설정으로 조정하여 가독성 확보
- 유사 스타일 네이밍 시 CENTER_1, CENTER_2 등으로 일관성 유지
댓글
댓글 쓰기