반복 입력 없이 접두사를 한 번에
P-001, P-002처럼 기존 문자 앞에 프로젝트 코드나 분류 기호를 붙일 때 사용합니다. 선택한 문자마다 같은 내용을 입력할 필요가 없습니다.
지원 대상과 안전 동작
- TEXT·MTEXT·블록 속성(ATTRIB)을 지원합니다.
- 잠긴 레이어의 문자는 변경하지 않고 건너뜀 개수로 알려줍니다.
- 전체 변경은 U 한 번으로 취소할 수 있습니다.
사용 순서
- 1
APPLOAD로 text-prefix.lsp를 로드합니다.
- 2
TPREFIX를 입력합니다.
- 3
앞에 붙일 내용을 입력합니다.
- 4
대상 문자를 선택하고 Enter를 누릅니다.
코드 전문
다운로드 파일은 아래 코드와 100% 동일합니다. 붙여넣기보다 파일 다운로드 후 APPLOAD 로드를 권장합니다.
;;; ------------------------------------------------------------
;;; AutoCATS 리습 자료실
;; 명령: TPREFIX
;; 기능: 선택한 TEXT/MTEXT/ATTRIB 앞에 문자열 일괄 추가
;; 출처: https://www.autocats.co.kr/lisp/text-prefix
;; 버전: 1.0 (2026-07-23)
;; 라이선스: 자유 사용·수정, 재배포 시 출처(autocats.co.kr) 표기
;; 안전: *error* 핸들러 + UNDO 그룹, 잠긴 레이어 건너뜀
;;; ------------------------------------------------------------
(vl-load-com)
(defun autocats-tprefix-locked-p (ent / data layer row)
(setq data (entget ent)
layer (cdr (assoc 8 data))
row (tblsearch "LAYER" layer))
(and row (= 4 (logand 4 (cdr (assoc 70 row))))))
(defun autocats-tprefix-apply (ent prefix / data target result)
(setq data (entget ent)
target (if (= (cdr (assoc 0 data)) "MTEXT")
(if (assoc 3 data) (assoc 3 data) (assoc 1 data))
(assoc 1 data)))
(if target
(progn
(setq result
(entmod
(subst
(cons (car target) (strcat prefix (cdr target)))
target
data)))
(if result (progn (entupd ent) T) nil))
nil))
(defun c:TPREFIX (/ *error* doc undo-open ss prefix idx ent changed skipped)
(defun *error* (msg)
(if undo-open
(progn (vla-EndUndoMark doc) (setq undo-open nil)))
(if (and msg (not (wcmatch (strcase msg) "*CANCEL*,*QUIT*,*EXIT*,*취소*")))
(princ (strcat "\n[TPREFIX] 중단: " msg)))
(princ))
(setq prefix (getstring T "\n[TPREFIX] 문자 앞에 추가할 내용: "))
(if (= prefix "")
(princ "\n[TPREFIX] 추가할 내용이 없어 종료합니다.")
(progn
(princ "\n[TPREFIX] 수정할 TEXT/MTEXT/ATTRIB을 선택하세요.")
(setq ss (ssget '((0 . "TEXT,MTEXT,ATTRIB"))))
(if ss
(progn
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object))
changed 0 skipped 0 idx 0)
(vla-StartUndoMark doc)
(setq undo-open T)
(while (< idx (sslength ss))
(setq ent (ssname ss idx))
(if (or (autocats-tprefix-locked-p ent)
(not (autocats-tprefix-apply ent prefix)))
(setq skipped (1+ skipped))
(setq changed (1+ changed)))
(setq idx (1+ idx)))
(vla-EndUndoMark doc)
(setq undo-open nil)
(princ (strcat "\n[TPREFIX] 완료: " (itoa changed)
"개 수정 / " (itoa skipped) "개 건너뜀")))
(princ "\n[TPREFIX] 선택된 문자가 없습니다."))))
(princ))
(princ "\n[AutoCATS] TPREFIX 로드 완료 - 명령행에 TPREFIX 를 입력하세요.")
(princ)
호환 CAD
위 환경에서 확인했습니다. 목록에 없는 CAD는 샘플 도면에서 먼저 결과를 대조한 뒤, CAD 종류·버전과 함께 네이버 카페에 알려주세요.
이 기능, CATS Pro에는 버튼으로 있습니다
TE1 / CATS_TE1리본과 명령 탐색기에서 접두사 입력 작업을 바로 실행할 수 있습니다.CATS Pro는 계속 무료입니다. 리습 로드 없이 버튼 클릭으로 같은 작업을 처리할 수 있습니다.
함께 쓰면 좋은 CATS 명령
자주 묻는 질문
문자 서식도 유지되나요?
기존 문자 객체의 위치, 높이, 회전, 스타일은 유지하고 내용 앞에 문자열만 추가합니다.
잠긴 레이어도 바뀌나요?
아닙니다. 잠긴 레이어의 객체는 안전하게 건너뛰고 개수를 표시합니다.