문자 뒤 내용 추가 리습 (TSUFFIX)

여러 문자 뒤에 mm, EA, 층 같은 단위·설명을 한 번에 붙입니다. TEXT·MTEXT·ATTRIB을 섞어 선택해도 처리합니다.

코드 전문 공개 · 다운로드 파일과 100% 동일 · 출처 표기 후 자유 사용

단위와 설명을 빠르게 덧붙이기

길이 숫자 뒤의 mm, 수량 뒤의 EA, 실명 뒤의 번호처럼 반복되는 접미사를 선택 문자 전체에 적용합니다.

원본 특성을 그대로 유지

  • 문자 내용 뒤에만 추가하고 위치·스타일·높이는 바꾸지 않습니다.
  • 잠긴 레이어와 수정할 수 없는 객체는 건너뜁니다.
  • 한 번의 UNDO로 전체 작업을 복원합니다.
HOW TO USE

사용 순서

리습 로드가 처음이라면
  1. 1

    APPLOAD로 text-suffix.lsp를 로드합니다.

  2. 2

    TSUFFIX를 입력합니다.

  3. 3

    뒤에 붙일 내용을 입력합니다.

  4. 4

    대상 문자를 선택하고 Enter를 누릅니다.

SOURCE

코드 전문

명령 TSUFFIX

다운로드 파일은 아래 코드와 100% 동일합니다. 붙여넣기보다 파일 다운로드 후 APPLOAD 로드를 권장합니다.

.lsp 다운로드
;;; ------------------------------------------------------------
;;; AutoCATS 리습 자료실
;; 명령: TSUFFIX
;; 기능: 선택한 TEXT/MTEXT/ATTRIB 뒤에 문자열 일괄 추가
;; 출처: https://www.autocats.co.kr/lisp/text-suffix
;; 버전: 1.0 (2026-07-23)
;; 라이선스: 자유 사용·수정, 재배포 시 출처(autocats.co.kr) 표기
;; 안전: *error* 핸들러 + UNDO 그룹, 잠긴 레이어 건너뜀
;;; ------------------------------------------------------------

(vl-load-com)

(defun autocats-tsuffix-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-tsuffix-apply (ent suffix / data target result)
  (setq data (entget ent)
        target (assoc 1 data))
  (if target
    (progn
      (setq result
            (entmod
              (subst (cons 1 (strcat (cdr target) suffix)) target data)))
      (if result (progn (entupd ent) T) nil))
    nil))

(defun c:TSUFFIX (/ *error* doc undo-open ss suffix 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[TSUFFIX] 중단: " msg)))
    (princ))

  (setq suffix (getstring T "\n[TSUFFIX] 문자 뒤에 추가할 내용: "))
  (if (= suffix "")
    (princ "\n[TSUFFIX] 추가할 내용이 없어 종료합니다.")
    (progn
      (princ "\n[TSUFFIX] 수정할 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-tsuffix-locked-p ent)
                    (not (autocats-tsuffix-apply ent suffix)))
              (setq skipped (1+ skipped))
              (setq changed (1+ changed)))
            (setq idx (1+ idx)))
          (vla-EndUndoMark doc)
          (setq undo-open nil)
          (princ (strcat "\n[TSUFFIX] 완료: " (itoa changed)
                         "개 수정 / " (itoa skipped) "개 건너뜀")))
        (princ "\n[TSUFFIX] 선택된 문자가 없습니다."))))
  (princ))

(princ "\n[AutoCATS] TSUFFIX 로드 완료 - 명령행에 TSUFFIX 를 입력하세요.")
(princ)
COMPATIBILITY

호환 CAD

AutoCAD 2021AutoCAD 2026

위 환경에서 확인했습니다. 목록에 없는 CAD는 샘플 도면에서 먼저 결과를 대조한 뒤, CAD 종류·버전과 함께 네이버 카페에 알려주세요.

ONE-CLICK ALTERNATIVE

이 기능, CATS Pro에는 버튼으로 있습니다

TE2 / CATS_TE2리본과 명령 탐색기에서 접미사 입력 작업을 바로 실행할 수 있습니다.

CATS Pro는 계속 무료입니다. 리습 로드 없이 버튼 클릭으로 같은 작업을 처리할 수 있습니다.

WORKS WELL WITH

함께 쓰면 좋은 CATS 명령

전체 명령 보기
LOADLISPSATFOLDER / CATS_LOADLISPSATFOLDER다운로드한 LISP 폴더를 한 번에 로드합니다. TE2 / CATS_TE2CATS Pro에서 같은 문자 뒤 입력 작업을 버튼으로 실행합니다.
FAQ

자주 묻는 질문

공백도 함께 붙일 수 있나요?

예. 입력할 때 앞쪽 공백을 포함하면 기존 문자와 접미사 사이에 공백이 유지됩니다.

속성 블록 내부 문자도 지원하나요?

선택 가능한 ATTRIB 객체는 지원하며 블록 정의 자체는 수정하지 않습니다.

WORKFLOW PRODUCTS

업무 분야에 맞는 전용 자동화도 확인해 보세요.

공통 CAD 작업은 CATS Pro로, 분야별 도면과 산출 업무는 전용 제품으로 이어갈 수 있습니다.

FREE LISP + FREE ADD-IN

리습과 CATS Pro를 함께 쓰세요.

리습은 가볍게, 반복 작업은 CATS Pro 버튼으로. 둘 다 무료입니다.