|
Sub www()
'创建在实例中使用的对象
Dim pt1(0 To 2) As Double
Dim pt2(0 To 2) As Double
pt1(0) = -5: pt1(1) = -5: pt1(2) = 0
pt2(0) = 30000: pt2(1) = 1005: pt2(2) = 0
On Error Resume Next
Dim SSet As AcadSelectionSet
If Not IsNull(ThisDrawing.SelectionSets.Item("Example")) Then
Set SSet = ThisDrawing.SelectionSets.Item("Example")
SSet.Delete '及时删除不用的选择集非常重要
End If
Set SSet = ThisDrawing.SelectionSets.Add("Example")
'(2)向选择集中添加对象
'设置选择过滤器
Dim FilterType(0 to 4) As Integer, FilterData(0 to 4) As Variant
FilterType(0) = -4
FilterData(0) = "" '逻辑运算符的结束
'使用Crossing的选择模式
SSet.Select acSelectionSetCrossing, pt1, pt2, FilterType, FilterData
MsgBox "选中对象上" & sset.Count & "个对象"
'(4)删除选择集
'SSet.Erase '删除选择集中所有对象,保留选择集对象
'SSet.Delete '删除选择集,保留其中对象
'删除选择集和其中所有对象
For Each element In SSet
element.Delete
Next
SSet.Delete
End Sub
|
|