以前曾经发了一个能把CAD中所有实体(包括块和嵌套块中所有单独实体)颜色都改颜色的程序.
其中龙龙仔版主提出:对于已经插入的属性无效。后来没有深入下去修改程序。
今天在autodesk讨论组中又看到了这个话题。其中一个程序的思路跟我的思路很相似,且能对属性块有效,下面把它贴出来。
- (defun c:CCC ()
- (vl-load-com)
- (vlax-for Blk (vla-get-Blocks
- (vla-get-ActiveDocument
- (vlax-get-Acad-Object)
- )
- )
- (vlax-for Obj Blk
- (vla-put-Color Obj 256) ;256随层
- (if (= (vla-get-ObjectName Obj) "AcDbBlockReference")
- (foreach Att (vlax-invoke Obj 'GetAttributes)
- (vla-put-Color Att 256);256随层
- )
- )
- )
- )
- )
Gilles Chanteau在这个讨论中发了一个很好的程序,能实现对块内的实体全部修改的程序。
这个程序的功能是:
对图块内所有实体,包括嵌套块,单个图元全部改变其属性(图层,颜色,线型,线宽)
命令为: edit_bloc
这是其加载后的效果:
下面是其改变后的效果:
程序的源文件:
对话框文件:
编译后的文件:
|