질문 올려놓으면 나중에라도 찾아와서 볼 수 있지 않을까 싶어서 지우지는 않겠습니다… Kor_storm님의 글 덕에 해결되었습니다. 감사합니다.
=======================
검색 결과
(defun c:xx (/ #a #index #b #c)
(vl-load-com)
(if(and
(setq #a(ssget ‘((0 . “text”))))
(setq #c (getstring “n≫≫≫추가할문자:” 1))
);;and
(progn
(setq #index -1)
(repeat (sslength #a)
(setq #b(vlax-ename->vla-object(ssname #a (setq #index(1+ #index)))))
(vla-put-textstring #b(strcat #c(vla-get-textstring #b)))
);;repeat
);;progn
);;if
(princ)
);;defun
이 리습을 찾아서 해봤는데 안되네요…
;*********************************************************************
;** 기존글자 앞/뒤에 글자 추가하기(명령어:fat,rat)
;*********************************************************************
;;;;;기존글자 앞에 다가 글자추가하기;;;;;;;;;;;;;;;;
(defun c:fat()
(setq bb (getstring t “n 앞에 추가할 글자를 입력하세요..^^* : “))
(setq sel (ssget) cnt 0 inx 0)
(repeat (sslength sel)
(setq str (entget (ssname sel inx)))
(if (= “TEXT” (cdr (assoc 0 str)) )
(progn
(setq old (cdr (assoc 1 str))
new (strcat bb old)
str (subst (cons 1 new) (cons 1 old) str)
)
(entmod str)
(setq cnt(1+ cnt))
)
)
(setq inx (1+ inx))
)
(princ “nselect object : “) (princ cnt) (princ)
)
;;;;기존 글자 뒤에 글자추가하기;;;;;;;;;;;;;;;
(defun c:rat()
(setq bb (getstring t “n 뒤에 추가할 글자를 입력하세요..^^* : “))
(setq sel (ssget) cnt 0 inx 0)
(repeat (sslength sel)
(setq str (entget (ssname sel inx)))
(if (= “TEXT” (cdr (assoc 0 str)) )
(progn
(setq old (cdr (assoc 1 str))
new (strcat old bb )
str (subst (cons 1 new) (cons 1 old) str)
)
(entmod str)
(setq cnt(1+ cnt))
)
)
(setq inx (1+ inx))
)
(princ “nselect object : “) (princ cnt) (princ)
)
이 리습도 검색 결과 나온건데 안먹히고요..
캐드 2010 쓰고 있고, 윈8 64bit 쓰고있습니다ㅠㅠ
숫자가 100, 101, 102, 이런식으로 있으면 이걸 BC100,BC101,BC102 이런식으로 바꿔야해요.. 캐드 전문가 분들의 도움이 절실합니다ㅠㅠ
=========================================
(defun c:at( / sl-recall ss obs strings newstrings)
(defun sl-recall (func msg b sym / sval)
(setq
sym (if sym sym b)
sval (func (strcat “n” msg ” <” (vl-princ-to-string sym) “>:”))
)
(if (and sval (/= sval “”)) (setq sym sval) sym)
)
(vl-load-com)
(and
(setq ss (ssget ‘((0 . “*TEXT”))))
(setq obs (mapcar ‘vlax-ename->vla-object (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss)))))
(setq strings (mapcar ‘vla-get-textstring obs))
(setq *num* (sl-recall getint “숫자를 몇자리로 할 것인지 물어봅니다?” 6 *num*))
(setq newstrings (mapcar ‘(lambda (a b) (if (< a *num*) (repeat (- *num* a) (setq b (strcat “0” b)))) b) (mapcar ‘strlen strings) strings))
(setq *fstr* (sl-recall getstring “앞에 덧붙여야 하는 문자” “” *fstr*))
(setq *bstr* (sl-recall getstring “뒤에 덧붙여야 하는 문자” “” *bstr*))
(mapcar ‘(lambda (a b) (vla-put-textstring a (strcat *fstr* b *bstr*))) obs newstrings)
)
(princ)
)
(defun sl-recall (func msg b sym / sval)
(setq
sym (if sym sym b)
sval (func (strcat “n” msg ” <” (vl-princ-to-string sym) “>:”))
)
(if (and sval (/= sval “”)) (setq sym sval) sym)
)
(vl-load-com)
(and
(setq ss (ssget ‘((0 . “*TEXT”))))
(setq obs (mapcar ‘vlax-ename->vla-object (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss)))))
(setq strings (mapcar ‘vla-get-textstring obs))
(setq *num* (sl-recall getint “숫자를 몇자리로 할 것인지 물어봅니다?” 6 *num*))
(setq newstrings (mapcar ‘(lambda (a b) (if (< a *num*) (repeat (- *num* a) (setq b (strcat “0” b)))) b) (mapcar ‘strlen strings) strings))
(setq *fstr* (sl-recall getstring “앞에 덧붙여야 하는 문자” “” *fstr*))
(setq *bstr* (sl-recall getstring “뒤에 덧붙여야 하는 문자” “” *bstr*))
(mapcar ‘(lambda (a b) (vla-put-textstring a (strcat *fstr* b *bstr*))) obs newstrings)
)
(princ)
)
리습 이용하여 성공했습니다.
다시 한번 감사합니다.