尺寸标注添加前后缀 去除前后缀
(defun c:ttt ( / a ss n i qz hz qz0 hz0)(setq a (getint ":" ))
(princ)
(cond
((= a 1)
(princ "选择需要添加前后缀的线性标注:")
(princ)
(setq ss (ssget '((0 . "DIMENSION")))
n (sslength ss)
i 0
)
(setq qz (getstring "输入要添加的前缀:"))
(if
(= qz nil)
(setq qz "")
)
(setq hz (getstring "输入要添加的后缀:"))
(if
(= hz nil)
(setq hz "")
)
(while (< i n)
(setq qz0 (Vlax-Get (Vlax-Ename->Vla-Object (ssname ss i)) 'TextPrefix )
hz0 (Vlax-Get (Vlax-Ename->Vla-Object (ssname ss i)) 'TextSuffix )
)
(Vlax-Put-Property (Vlax-Ename->Vla-Object (ssname ss i)) 'TextPrefix (if (= qz0 "") qz (strcat qz qz0)))
(Vlax-Put-Property (Vlax-Ename->Vla-Object (ssname ss i)) 'TextSuffix (if (= hz0 "") hz (strcat hz0 hz)))
(setq i (+ i 1))
)
)
((= a 2)
(princ "选择需要删除前缀的线性标注:")
(princ)
(setq ss (ssget '((0 . "DIMENSION")))
n (sslength ss)
i 0
)
(while (< i n)
(Vlax-Put-Property (Vlax-Ename->Vla-Object (ssname ss i)) 'TextPrefix "")
(setq i (+ i 1))
)
)
((= a 3)
(princ "选择需要删除后缀的线性标注:")
(princ)
(setq ss (ssget '((0 . "DIMENSION")))
n (sslength ss)
i 0
)
(while (< i n)
(Vlax-Put-Property (Vlax-Ename->Vla-Object (ssname ss i)) 'TextSuffix "")
(setq i (+ i 1))
)
)
)
)
感谢大佬分享 感谢分享正需要能做指定库就更好了 感谢楼主无私奉献 谢谢分享,正要用的 应该比较有用,平时前缀和后缀没有特别去关注,只是直接修改了TextOverride的值,可能修改前后缀更合适。
页:
[1]