获取所有acadblockreference和acadexternalreference对象的选择集。迭代选择集中的每个项目,将其层设置为;0
- Public Sub BlocksAndXrefsToZeroLayer()
- Dim oEnt As AcadEntity
- Dim I As Integer
- Dim oSS As AcadSelectionSet
- Dim iType(3) As Integer
- Dim vData(3) As Variant
- Dim P1(2) As Double
- Dim P2(2) As Double
- Set oSS = getSS("zlayer")
- iType(0) = -4: vData(0) = ""
- oSS.Select acSelectionSetAll, P1, P2, iType, vData
- If oSS.Count < 1 Then Exit Sub
- For I = 0 To oSS.Count - 1
- Set oEnt = oSS(I)
- If ThisDrawing.Layers(oEnt.Layer).Lock Then
- ' entity is on a locked layer - can't change it
- Else
- oEnt.Layer = "0"
- oEnt.Update
- End If
- Next
- End Sub
- Public Function getSS(strName As String) As AcadSelectionSet
- Dim SS As AcadSelectionSet
- On Error Resume Next
- ThisDrawing.SelectionSets(strName).Delete
- Set SS = ThisDrawing.SelectionSets.Add(strName)
- Set getSS = SS
- End Function
|