AutoCAD VBA基于对象的分层

AutoCAD VBA基于对象的分层,讲不同对象根据特性分层,代码如下。

Dim Value As Variant
Value = ThisDrawing.GetVariable("cmdecho")
ThisDrawing.SetVariable "cmdecho", 0
Dim ObjLayer As AcadLayer
Set ObjLayer = ThisDrawing.Layers.Add("尺寸标注")
Set ObjLayer = ThisDrawing.Layers.Add("文字")
Set ObjLayer = ThisDrawing.Layers.Add("主体")
Set ObjLayer = ThisDrawing.Layers.Add("图案填充")
Set ObjLayer = ThisDrawing.Layers.Add("虚线")
Set ObjLayer = ThisDrawing.Layers.Add("中心线")
Set ObjLayer = ThisDrawing.Layers.Add("剖面线")
Set ObjLayer = ThisDrawing.Layers.Add("隐藏线")
Dim ObjSelectionSet As AcadSelectionSet
Dim Count As Integer
Count = ThisDrawing.SelectionSets.Count
While (Count > 0)
Set ObjSelectionSet = ThisDrawing.SelectionSets.Item(Count - 1)
ObjSelectionSet.Delete
Count = Count - 1
Wend
Set ObjSelectionSet = ThisDrawing.SelectionSets.Add("SSET")
Dim gpCode() As Integer
Dim dataValue() As Variant
ReDim gpCode(0)
ReDim dataValue(0)
Mode = acSelectionSetAll
gpCode(0) = 0
dataValue(0) = "dimension"
Dim groupCode As Variant, dataCode As Variant
groupCode = gpCode
dataCode = dataValue
ObjSelectionSet.Select Mode, , , groupCode, dataCode
Dim tntry As AcadEntity
For Each tntry In ObjSelectionSet
Entry.Layer = "尺寸标注"
Entry.Update
Next Entry
ObjSelectionSet.Clear
gpCode(0) = 0
dataValue(0) = "text"
groupCode = gpCode
dataCode = dataValue
ObjSelectionSet.Select Mode, , , groupCode, dataCode
For Each Entry In ObjSelectionSet
Entry.Layer = "文字"
Entry.Update
Next Entry
ObjSelectionSet.Clear
ObjSelectionSet.Delete
ThisDrawing.SetVariable "cmdecho", scmde

代码完。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值