更改所有黄色(2,50
Hy,有没有嘴唇可以把所有的黄色(2,50,51)变成8色?
Tnx公司 你好
可以使用“快速选择”按颜色(2,50,51)选择实体,然后更改属性。 更好的图形管理方法是按层分配颜色,而不是覆盖它;这样就更容易调整了。 但是,使用lisp将3种颜色(2,50,51)转换为灰色要比快速选择每种颜色更快 我仍然希望你会考虑按层分配颜色的方法,否则当想要再次调整颜色时,将需要另一个专用工具。
假设您的实体不在锁定层中:
;;; Change Colors 5, 50 and 51 routine (15-II-2014)
(defun c:CC55051( / sset )
(if (setq sset (ssget "_X" '((-4 . "<OR")(62 . 2)(62 . 50)(62 . 51)(-4 . "OR>"))))
(command "_CHPROP" sset "" "_C" 8 "")
)
(princ)
) 所有黄色到8,包括设置为“bylayer”的对象和块中的对象:
(defun C:Y2G ( / acdoc) (vl-load-com)
(setq acdoc (vla-get-activedocument (vlax-get-acad-object)))
(vlax-for la (vla-get-layers acdoc)
(if
(member (vla-get-color la) '(2 50 51))
(vla-put-color la
)
)
(vlax-for blk (vla-get-blocks acdoc)
(vlax-for obj blk
(if
(member (vla-get-color obj) '(2 50 51))
(vla-put-color obj
)
)
)
(vla-regen acdoc acAllViewports)
(princ)
) 您可能需要从迭代过程中排除外部参照块。 我看不出有什么理由。更改颜色仅在当前dwg中有效。原来的一个保持不变。 完美的Lisp程序,它正在做令人惊叹的事情。
你刚刚节省了我的时间。谢谢。
干杯
页:
[1]