本帖最后由 若水三千 于 2014-8-29 18:51 编辑
最近开始学习一些CAD的二次开发,在网上看到了一些好的代码,特拿来分享。
- ;函数:更改图层颜色
- ;功能:将某个图层改为某种颜色
- (defun edit_layer_color (color_no layer_name / layer layers)
- (setq layers (vla-get-layers
- (vla-get-ActiveDocument (vlax-get-acad-object))
- )
- )
- (vlax-for layer layers
- (if (= (vla-get-name layer) layer_name)
- (vla-put-color layer color_no)
- )
- )
- (princ)
- )
- (edit_layer_color acRed "0")
复制代码 调用函数的方法是:- (edit_layer_color acRed "0")
复制代码 这样就把0层的颜色改为红色。但是已经绘制好的对象的颜色并没有改变,要让它们的颜色随层,得添加一句:
- (command "_.chprop" "_all" "" "_color" "_bylayer" "")
复制代码 顺便说一下这个函数: - (vla-put-color layer color_no)
复制代码
调用系统中的函数来修改层颜色,其函数原型如上所示,它在Express Tools中,注意要确保安装程序安装了此组件。其中颜色参数使用枚举值:
|