yyq620 发表于 2003-4-18 12:36:00

急!急!急!Obj.IntersectWith方法获得交点问题

目的:求和一条多义线相交的多条线段(多义线或样条曲线)的交点坐标,我使用Obj.IntersectWith方法。
结果:明明相交的点,程序确认为不相交。

efan2000 发表于 2003-4-21 17:17:00

检查一下求交点的两条线的Z轴坐标是否一样

IntersectWith方法只能求绝对相交的线的交点,即要么在同一个平面中相交,要么在空间中相交,而不能处理投影情况。

jennsen 发表于 2003-4-18 13:06:00

我这有个以前求交点的程序,已调试通过!

我这有个以前求交点的程序,调试通过了,你先在Acad中画个矩形和一个圆相交,然后运行此程序,可得到交点。
Sub qjd()
Dim mo As AcadModelSpace
Set mo = ThisDrawing.ModelSpace
Dim intpoints As Variant
intpoints = mo(0).IntersectWith(mo(1), acExtendNone)
Dim i As Integer
Dim str As String
    If VarType(intpoints) <> vbEmpty Then    'VarType(varname),必要的 varname 参数是一个 Variant vbEmpty返回值为0
      For i = LBound(intpoints) To UBound(intpoints) Step 3
      str = str & vbCrLf & "交点为:" & intpoints(i) & "," & intpoints(i + 1) & "," & intpoints(i + 2)
      Next i
   End If
MsgBox str
End Sub

zxj_76 发表于 2003-4-18 19:05:00

你不如取两条线的坐标,自己算出交点坐标。

AutoCAD自带的IntersectWith函数不好用,立交点取不到,平交点也不一定能取到,你不如取两条线的坐标,自己算出交点坐标。
页: [1]
查看完整版本: 急!急!急!Obj.IntersectWith方法获得交点问题