紧急求助,关于属性文字样式
www.dimcax.com
紧急求助,关于属性文字样式
想修改属性块中标记为plan的属性文字的样式,
以下是代码会修改一个属性块中的所有的属性文字,如何改成只修改标记为plan的属性文字的,其它标记的不修改。
(if (setq lst (safearray-value (variant-value (vla-getattributes (vlax-ename->vla-object blk)))))
(foreach a lst
(if (= (这个地方怎么写? ) "plan")
(vla-put-stylename a "aaa")
)
)
)
d
(mapcar '(lambda (x)
(if (=(vla-get-tagstring x)"plan");;此处加一个判断
(progn
;(vla-put-layer x "text-en") ;设置层为text-en
;(vla-put-color x acbylayer) ;设置颜色随层
(vla-put-stylename x "aaaa");设置字体样式为自定义的aaaa
;(vla-put-height x 3) ;设置字体高度为3,此处可以加一个图纸比例
;(vla-put-scalefactor x 0.7) ;设置宽度比例为0.7
))
(safearray-value (variant-value (vla-getattributes (vlax-ename->vla-object blk))))
d
caoyin版主,不好意思。我编辑帖子的时候。你刚好同时回复。不过意思跟原来是一样的
非常感谢!
d
(foreach a (vlax-invoke (vlax-ename->vla-object blk) 'getattributes)
(if (=(vla-get-tagstring x) "plan");;此处加一个判断
(vla-put-stylename a "aaa")
)
)
d