'第七节选择实体
Sub CreateSset() '创建选择集
Dim sSet As AcadSelectionSet
Set sSet = ThisDrawing.Application.ActiveDocument.SelectionSets.Add("选择集")
End Sub
Sub CreateSset2() '创建选择集,批处理
Dim sSet As AcadSelectionSet
For Each sSet In ThisDrawing.Application.ActiveDocument.SelectionSets
If sSet.Name = "选择集" Then sSet.Delete
Next
Set sSet = ThisDrawing.Application.ActiveDocument.SelectionSets.Add("选择集")
'执行操作代码...
sSet.Delete
End Sub
Public Function AddEntToSset(objEnt As AcadEntity, sSet As AcadSelectionSet) '添加实体到选择集
Dim objCollection(0) As AcadEntity
Set objCollection(0) = ent
sSet.AddItems objCollection
End Function
Sub GetEntity() '创建实体时选择实体
Dim objCircle As AcadCircle
Dim xyz(2) As Double
xyz(0) = 0: xyz(1) = 0: xyz(2) = 0
Set objCircle = ThisDrawing.Application.ActiveDocument.ModelSpace.AddCircle(xyz, 5)
End Sub
Sub GetEntity2() '通过创建先后顺序选择实体
Dim objEnt As AcadEntity
Set objEnt = ThisDrawing.Application.ActiveDocument.ModelSpace.Item(5)
End Sub
Sub GetEntity3() '通过句柄选择实体
Dim objEnt As AcadEntity
Set objEnt = ThisDrawing.Application.ActiveDocument.HandleToObject("3BA")
End Sub
Sub SelectOnScreenExample() '选择屏幕实体
Dim sSet As AcadSelectionSet
Dim objEnt As AcadObject
For Each sSet In ThisDrawing.Application.ActiveDocument.SelectionSets
If sSet.Name = "选择集" Then sSet.Delete
Next
Set sSet = ThisDrawing.Application.ActiveDocument.SelectionSets.Add("选择集")
sSet.SelectOnScreen
If sSet.Count > 0 Then
For Each objEnt In sSet
objEnt.color = acRed
Next
End If
sSet.Delete
End Sub
全部评论