更改颜色的LISP例程
嘿伙计们,我想知道是否有人能告诉我他们是否知道这样一个惯例?
我正在寻找一种工具来改变所有选定对象的颜色。我目前正在使用以下例程:
(defun c:c2 () (ssget) (command "chprop" "p" "" "c" "2" "")(princ))
这将很容易改变线条、柱脚、圆弧、圆、文本等的颜色。但我也希望包括没有此类基本颜色属性的对象。例如,我希望能够像更改线条颜色一样,在相同的例行程序中更改文字、尺寸和尺寸界线颜色。
有谁知道有一种例行程序能够完成这样的任务吗?
我刚刚开始编写一些代码来实现这一点,但我想先问问是否有人知道现有的例程。
非常感谢您的帮助。 你好
你的帖子标题与内容不同!。
无论如何,请尝试更改对齐和旋转尺寸的颜色。
(defun c:test (/ ss)
(if (and (setq *clr* (acad_colordlg
(cond (*clr*)
(t (setq *clr* 256))
)
)
)
(princ "\n Select Dimension to change their color :")
(setq ss (ssget "_:L" '((0 . "*DIMENSION"))))
)
((lambda (x / sn)
(while (setq sn (ssname ss (setq x (1+ x))))
(if (vl-remove-if-not
'(lambda (o) (and (eq (car o) 100) (wcmatch (cdr o) "AcDbAlignedDimension,AcDbRotatedDimension")))
(entget sn)
)
(mapcar '(lambda (e)
(vla-put-textcolor e *clr*)
(vla-put-extensionlinecolor e *clr*)
(vla-put-DimensionLineColor e *clr*)
)
(list (vlax-ename->vla-object sn))
)
)
)
)
-1
)
)
(princ)
)
(vl-load-com)
谢谢塔瓦的回复,
我期待着明天上班时测试一下你的日常生活。关于威胁标题,我很抱歉。我希望能够创建一个例程来改变所有物体的颜色,但尺寸是目前的优先事项。 对于尺寸,我建议仅当已被覆盖时才覆盖元素的颜色;其他根据相关样式进行调整。
不客气,希望它能满足你的需要。
页:
[1]