请教:过滤语法好像没错,为什么选择集里没对象呢?
Dim Pt1 As VariantDim Pt2 As Variant
EntObj(0).GetBoundingBox Pt1, Pt2
'创建选择集
Dim ssetObj As AcadSelectionSet
Set ssetObj = ThisDrawing.SelectionSets("SSET")
If Err Then Set ssetObj = ThisDrawing.SelectionSets.Add("SSET")
ssetObj.Clear
'设置图层过滤
Dim gpCode(0) As Integer
Dim dataValue(0) As Variant
gpCode(0) = 8
dataValue(0) = "dgx"
'选择与该直线相交或者包含在外框中的所有实体
ssetObj.Select acSelectionSetCrossing, Pt1, Pt2, gpCode, dataValue
1.你这一段是完整代码吗?没见到EntObj(0)的值,没见到错误处理
2.确认层dgx中与该直线有相交的物体。
Public Sub mx()
Dim Pt1 As Variant
Dim Pt2 As Variant
Dim ssEnt As AcadSelectionSet
Dim EntObj(0) As AcadEntity
On Error Resume Next
Set ssEnt = ThisDrawing.SelectionSets.Add("ssEnt")
ssEnt.SelectOnScreen
Set EntObj(0) = ssEnt.Item(0)
ssEnt.Clear: ssEnt.Delete
EntObj(0).GetBoundingBox Pt1, Pt2
Dim ssetObj As AcadSelectionSet
Set ssetObj = ThisDrawing.SelectionSets.Add("SSET")
ssetObj.Clear Dim gpCode(0) As Integer
Dim dataValue(0) As Variant
gpCode(0) = 8
dataValue(0) = "1"ssetObj.Select acSelectionSetCrossing, Pt1, Pt2, gpCode, dataValue
ssetObj.Clear
ssetObj.Delete
End Sub
谢谢了,搞定!
页:
[1]