有兩個方法,
-
選擇圖形,右鍵,快速選擇,文字,輸入文字內容,就會把相同的文字全部找出來了。
-
使用autoLISP查找相同的文字。得到文字后,右鍵,屬性,里面看文字數量即可。(高版本的AutoCAD里面有快捷面板,可以直接看數量)
(defun c:TT2 ( / #kw #k2 )
(if (null vlax-dump-object) (vl-load-com) )
(initget "T") (setq #kw (entsel "n請選擇文字或輸入文字(T)[輸入文字(T)]: <選擇文字> "))
(cond
((= (type #kw) 'LIST)
(if (= (vla-get-objectname (setq #kw (vlax-ename->vla-object (car #kw)))) "AcDbText")
(setq #kw (vla-get-textstring #kw))
(progn
(setq #kw nil) (princ "n錯誤的對象,請選擇單行文字對象!")
)
)
)
((member #kw (list "t" "T"))
(if (= (setq #kw (getstring "n請輸入要選取的文字: ")) "")
(progn
(setq #kw nil) (princ "n未輸入文字,程序退出!")
)
)
)
)
(if #kw (princ (strcat "n框選包含文字 < " #kw " >的對象")) )
(if (and #kw (setq #kw (ssget (list (cons 0 "TEXT") (cons 1 #kw)))))
(progn
(initget "V C S E") (setq #k2 (getkword "n選擇文字或[移動(V)/復制(C)/刪除(E)]: <選擇(S)> "))
(if (null #k2)
(sssetfirst nil #kw)
(cond
((member #k2 (list "v" "V")) (command "_.Move" #kw "" pause) )
((member #k2 (list "c" "C")) (command "_.Copy" #kw "" pause) )
((member #k2 (list "e" "E")) (command "_.Erase" #kw "") )
((member #k2 (list "s" "S")) (sssetfirst nil #kw) )
)
)
)
(princ "n未定義文字或未選擇對象!")
)
(prin1)
)
(prompt "n《TT2》框選文字")
(prin1)