我有以下代码,我正试图修改,以便它将选择屏幕上的所有对象
- Public Sub TestSelectOnScreen()
- Dim objSS As AcadSelectionSet
- On Error GoTo Done
- With ThisDrawing.Utility
- '' create a new selectionset
- Set objSS = ThisDrawing.SelectionSets.Add("TestSelectOnScreen")
- '' let user select entities interactively
- objSS.SelectOnScreen
- '' highlight the selected entities
- objSS.Highlight True
- '' pause for the user
- .prompt vbCr & objSS.Count & " entities selected"
- .GetString False, vbLf & "Enter to continue "
- '' unhighlight the entities
- objSS.Highlight False
- End With
- Done:
- '' if the selection was created, delete it
- If Not objSS Is Nothing Then
- objSS.Delete
- End If
- End Sub
我知道你可以过滤指定的项目,例如圆形和层,然后当你选择时,这将过滤-下面的示例代码
- Sub Ch4_FilterBlueCircleOnLayer0()
- Dim sstext As AcadSelectionSet
- Dim FilterType(1) As Integer
- Dim FilterData(1) As Variant
- Set sstext = ThisDrawing.SelectionSets.Add("SS4")
- FilterType(0) = 0
- FilterData(0) = "Circle"
- FilterType(1) = 8
- FilterData(1) = "0"
- sstext.SelectOnScreen FilterType, FilterData
- End Sub
但我正在尝试让选择集选择屏幕上的所有内容。我不希望用户被迫选择所有对象,因为我的代码稍后依赖于具有特定名称的所有块。如果没有选择所有的块,则会在稍后导致代码问题,此外,如果不中途停止以允许选择,则会使整个编码运行得更快。
谁能给我举个例子吗?我已经找到了帮助,但什么也找不到?
干杯
col。 |