지금도 잘쓰고 있는 리습이긴한데요
맨마지막에 화면에 뿌릴때, 정렬상관없이 나와서요, ,,, 오름차순으로 정리되게 부탁드립니다.
예를 들면
B1
B2
B3
C1
C2
C3
G1
G2
G3
요런식으로요….
꼭좀 부탁드려요~~~~~~
;;===========================================================
; tt[문자수량]
;;———————————————————–
(defun c:tt (/ gVar gVarLst acDoc acSpc ss pt)
(defun *error* (msg)
(MrEnd)
(if (not (wcmatch (strcase msg) “*BREAK,*CANCEL*,*EXIT*”))
(princ (strcat “n** Error: ” msg ” **”))
)(princ)
)
(defun MrSTA ()
(MrEnd)
(setq gVar (mapcar ‘getvar (setq gVarLst ‘(“OSMODE” “CMDECHO”))))
(mapcar ‘setvar gVarLst ‘(0 0))
(vla-startundomark AcDoc)
)
(defun MrEnd ()
(if (and gVarLst gVar)(mapcar ‘setvar gVarLst gVar))
(if (= 8 (logand 8 (getvar ‘UNDOCTL)))(vla-endundomark AcDoc))
)
(defun subEnameObjLst (ss)
(mapcar ‘vlax-ename->vla-object (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss))))
)
(defun subListOccurrences (L)
(if L (cons (cons (car L) (- (length L)(length (vl-remove (car L)(cdr L)))))
(subListOccurrences (vl-remove (car L)(cdr L)))))
)
(setq acDoc (vla-get-activedocument (vlax-get-acad-object)))
(setq acSpc (vlax-get-property acDoc (if (= 1 (getvar ‘CVPORT)) ‘paperspace ‘modelspace)))
(MrSTA)
(if (and
(setq ss (ssget ‘((0 . “text”))))
(setq pt (getpoint “n결과 삽입점: “))
)
(foreach tx (subListOccurrences (mapcar ‘vla-get-textstring (subEnameObjLst ss)))
(vla-addtext acSpc
(strcat (car tx) ” : ” (itoa (cdr tx)) “EA”)(vlax-3d-point pt)(getvar ‘textsize)
)
(setq pt (list (car pt)(+ (cadr pt)(* (getvar ‘textsize) 2))))
)
)
(MrEnd)(princ)
)(princ “[명령어 : TNUM ]”)(princ)
리습에서 (subListOccurrences (mapcar ‘vla-get-textstring (subEnameObjLst ss))) 를 찾아서
태은님 감사합니다
원하는대로 아주 잘됩니다 ^^