所有图层到ByLayer
这应该很容易,但由于某种原因,我仍然会遇到一个错误,有人看到这个问题了吗谢谢你,马克Sub AllLayersToByLayer()
Dim layer As AcadLayer
For Each layer In ThisDrawing.Layers
layer.color = acByLayer
Next layer
End Sub
.颜色已过时 。TRUECOLOR是新的替代品
您使用的是什么版本的AutoCAD ;2008有一个名为SETBYLAYER的命令,您可能需要研究它
Sub AllLayersToByLayer()
Dim color As AcadAcCmColor
Dim layer As AcadLayer
Set color = New AcadAcCmColor
With color
.ColorMethod = acColorMethodByACI
.ColorIndex = "256"
End With
For Each layer In ThisDrawing.Layers
layer.TrueColor = color
Next layer
End Sub
哇那';有趣的是,Matt,你会想,在我的3本书和帮助屏幕中,他们会有一个合适的例子,让我试一试,谢谢你,Mark 嗨,马特,我可能不是;t完全清楚;我希望将所有图层颜色更改为bylayer谢谢Mark 我有权利理解吗?将图层颜色更改为“ByLayer”
当然可以,但这可能会使AutoCAD或dwg文件崩溃(下次无法打开它)。我有一次收到这个错误,不想重复
层对象可以';不要使用颜色ByLayer或ByBlock。您必须按ACI(从1到255)或TrueColor设置颜色。
啊,你说得很好,你需要抓取图形中的所有对象(实体),并将对象名称更改为ByLayer,我相信谢谢你 所以你希望所有的物体都是按颜色分层的,对吗 ;示例:在图层上绘制一条线;温度;和图层“;温度's的颜色是蓝色,但线条显示为红色,您需要该线条#039;s color属性更改为BYLAYER而不是1(红色),对吗
如果你';再次使用2008,SETBYLAYER是迄今为止实现这一目标的最佳/最快方法
如果不是,我们';我必须想出一些办法(除非有人已经推出了他们想要传递的一个)  ;
我用的是2006,它没有#039;t存在于那里
我尝试了这段代码:
Sub AllLayersToByLayer()
Dim Obj As Object
For Each Obj In ThisDrawing.ModelSpace
Obj.color = acByLayer
Next
End Sub
上面说,获取模型空间中的所有对象,并将它们放到Bylayer中
但它仍然不起作用 非编程方式:选择所有对象,然后在属性对话框中选择;颜色&引用;ByLayer;。
页:
[1]
2