请教高手,关于求交点
我的代码如下,(附图如附件):Public Sub FindIntersect()
Dim e11 As AcadEntity
Dim e22 As AcadEntity
Dim intPoints As Variant
Set e11 = ThisDrawing.ModelSpace(0)
Set e22 = ThisDrawing.ModelSpace(1)
intPoints = e11.IntersectWith(e22, acExtendNone)
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim str As String
If VarType(intPoints)vbEmpty Then
For i = LBound(intPoints) To UBound(intPoints)
str = "Intersection Point[" & k & "] is: " & intPoints(j) & "," & intPoints(j + 1) & "," & intPoints(j + 2)
MsgBox str, , "IntersectWith Example"
str = ""
i = i + 2
j = j + 3
k = k + 1
Next
End If
End Sub
附图中的两个图元明明是有交点的啊,为什么显示不出交点的坐标呢?
**** Hidden Message ***** 为什么明明有交点,LBound(intPoints)与 UBound(intPoints)的值还分别为0和-1
初学的同志们请注意了,特别当你第一次使用intersectWith()时,说是用VarType(intPoints)vbEmpty 其实不能判断交点是否存在,这是autocad帮助文件中的一个小错误。
我想知道的是,既然这样,我们应该怎么样来判断两个图元是否有交点?
双击那红色二维多段线,看属性里的标高
双击那白色直线,看属性里的Z,Z代表三维空间上的高度
二则高度不一致,看上去是相交,其实是没有相交
用IntersectWith命令时要注意实体都在一个高度上
建议用IntersectWith命令前把所有实体高度设置为0
建议用IntersectWith命令前把所有实体高度设置为0
怎么样来判断两个图元是否有交点
UBound(intPoints)》0
我也在考虑这个问题,怎么判段两个面域是否有交集呢,用intersectwith图形就变了,能不能在对图形步操作的情况下判断是否有交集呢
页:
[1]