已有文字如何更改样式,从standard到songti
cad图形里面有几个样式,现在有些文字是standard样式,希望更换为已有的songti样式如何更改?我知道更改当前样式为(setvar "textstyle" "songti"),但就是不知道选择图元后如何更改他的样式
(setq en (entsel "select:"))
....
本帖最后由 evayleung 于 2017-10-16 00:31 编辑
(defun c:tt ()
(setq i 0)
(setq ss (ssget '((-4 . "<OR") (0 . "MTEXT")
(0 . "TEXT")
(-4 . "OR>")
)
)
)
(repeat (sslength ss)
(vla-put-StyleName (vlax-ename->vla-object (ssname ss i)
) "songti"
)
(setq i (1+ i))
)
) 这样肯定有考虑不周的地方,比如多行文字、块内文字、属性。。。。 xinxirong 发表于 2017-10-16 09:10
这样肯定有考虑不周的地方,比如多行文字、块内文字、属性。。。。
嗯,我主要是学习代码,我来改细节也可以的。后来改组码也实现了。不过evayleung也解决了问题。 evayleung 发表于 2017-10-16 00:19
上面的功能也可以用(setq ss (ssget '((1 . "*TEXT"))))来处理。
下面的话方式我收藏了,谢谢大神。 katamoto 发表于 2017-10-18 09:42
上面的功能也可以用(setq ss (ssget '((1 . "*TEXT"))))来处理。
下面的话方式我收藏了,谢谢大神。
太客气了,我也只是个搬运工。 evayleung 发表于 2017-10-20 23:36
太客气了,我也只是个搬运工。
你好大神,请问如何把当前字体从Standard设置为我自己定义的 ziti0然后我后面写入的text都是用的ziti0
(command "-style""ziti0" "宋体" 10 1 0 "n" "n" "")用于新建字形并置为当前。要更改已经创建的文字,需要获取其组码,7对应的是文字样式,需要置换为(7.“ziti0”) renhaitao_nice 发表于 2017-12-2 20:21
(command "-style""ziti0" "宋体" 10 1 0 "n" "n" "")用于新建字形并置为当前。要更改已经创建的文字,需 ...
这句话在我电脑里面执行错误,我到网上搜索了下, 很多都是某些电脑能执行,很多却不能。
我现在自己解决了我电脑上设置当前为宋体的语句。见下:
(vl-load-com) (setvar "osmode" 0)
(Setq TextStyle (vla-add (vla-get-TextStyles (vla-get-activedocument (vlax-get-acad-object))) "songti"))
(vla-SetFont TextStyle "宋体" :vlax-false :vlax-false 1 0)
(setvar "textstyle" "songti")
页:
[1]