有关IntersectWith的问题
Dim IntPoint As Variant<BR>IntPoint = Obj1.IntersectWith(Obj2, acExtendNone)If VarType(IntPoint) <> vbEmpty Then
...
End If
VarType(IntPoint)无论在相交与否都返回8197(不相交时为0),请问为什么? if ubound(IntPoint)>-1 then 这与该函数的内部实现机制有关,如果两者不相交,是不是返回了一个空的数组? Dim a As AcadLine<BR>Set a = ThisDrawing.ModelSpace(0)<BR>Set b = ThisDrawing.ModelSpace(1)<BR>c = a.IntersectWith(b, acExtendNone)<BR>MsgBox UBound(c)<BR>MsgBox IsArray(c)
试试这段代码,如果a,b不相交UBound(c)=-1
这在VB里是做不出来的,下界为0,上界为-1 ?但是有确实是一个数组<BR> 感谢<A name=54501><FONT color=#990000><B>lzh741206</B></FONT></A>!
ubound(IntPoint)=-1---------------无交点
ubound(IntPoint)=2*n---------------n个交点
如果两直线重合,用IntersectWith返回-1。
页:
[1]