;改变当前图形中的所有文字样式的字体以为"仿宋_GB2312"或者单线体
(defun c:chTextsy(/ AcadObject AcadDocument TextColl num i SItem sname)
(setvar "cmdecho" 0)
(VL-LOAD-COM)
(initget "A S");定义关键字
(setq c(getkword "\n选择文字类型:仿宋体(A)单线体(S)<S>:"))
(if(= c nil)
(setq c "S")
)
(setq AcadObject(vlax-get-acad-object)
AcadDocument(vla-get-ActiveDocument Acadobject)
TextColl(vla-get-TextStyles AcadDocument)
)
(setq num(vla-get-Count TextColl))
(setq i 0)
(While (<= i (- num 1))
(setq SItem(vla-Item TextColl i))
(setq sname(vla-get-Name SItem))
(cond
((= c "A")
(Command "_style" sname "仿宋_GB2312" "" 0.71 "" "N" "N"))
((= c "S")
(CH_TXTSTYLE sname "fst.shx" "hztxt.shx")))
;;(Command "_style" sname "仿宋_GB2312" "" 0.71 "" "N" "N");;;(CH_TXTSTYLE TextStyleName FontName BigFontName)
(setq i(+ i 1))
)
(Princ "\n共有:")(princ i)(princ "种文字样式被改变!")
(princ)
) |