在一个cad图上,有已经画好的数据表格(多个),下面用程序举个简单的例子 Sub test() Dim point1(0 To 2) As Double Dim point2(0 To 2) As Double Dim point3(0 To 2) As Double Dim point4(0 To 2) As Double'''''''''''''''定义4个假设已知的点 Dim sel1 As AcadSelectionSet Set sel1 = ThisDrawing.SelectionSets.Add("s1") point1(0) = 1488 point1(1) = 15 point1(2) = 0 point2(0) = 1478 point2(1) = 15 point2(2) = 0'''''按图上线对象的位置来说这两点组成的选择区域至少能横跨一个线对象 point3(0) = 408 point3(1) = 918 point3(2) = 0 point4(0) = 380 point4(1) = 918 point4(2) = 0''''''按图上线对象的位置来说这两点组成的选择区域至少能横跨一个线对象 'sel1.Select acSelectionSetCrossing, point1, point2''''与这两点构成的直线区域相交的对象应该都会存如选择集中 MsgBox ">>>>>>>>>>" + CStr(sel1.Count)'''按我理解来看选择集中的对象数至少应该是1 sel1.Delete End Sub
问题是:通过测试sel1.Select acSelectionSetCrossing, point1, point2我发现:结果能正常显示出1个对象 但我又试sel1.Select acSelectionSetCrossing, point3, point4却发现:结果显示出0个对象(实际上这两组点肯定横跨至少一个线对象) 之后我不经意间回到cad图中在point3, point4这组点附近用鼠标点了一下,后又试发现上述情况颠倒了: sel1.Select acSelectionSetCrossing, point3, point4 结果能正常显示出1个对象 sel1.Select acSelectionSetCrossing, point1, point2 却显示出0个对象 而再次回到cad图中又在point1, point2这组点附近点了一下,发现显示对象数又颠倒了(回到第一种情况) 这是为什么呢?我想要得结果是两种情况都能同时正常显示出至少1个对象(即都能正常存入选择集中)该怎么解决? |