几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   数据库ObjectDBX (http://www.dimcax.com/hust/forumdisplay.php?f=177)
-   -   【转帖】如何在cad中用vba程序捕捉两线的交点-请教高手 (http://www.dimcax.com/hust/showthread.php?t=13477)

yang686526 2009-04-28 12:45 PM

【转帖】如何在cad中用vba程序捕捉两线的交点-请教高手
 
如何在cad中用vba程序捕捉两线的交点-请教高手
www.dimcax.com
如何在cad中用vba程序捕捉两线的交点-请教高手
比如有一条样条曲线,在其一侧有一点,过这个点做水平直线,交于这条曲线,捕获这个交点的坐标并被记录
这个过程如何实现呢?
我只知道可以用intersectwith方法,判断相交,如下:
dim retvar
retvar = cha.intersectwith(objpoly, acextendnone)
if ubound(retvar) = -1 then
msgbox "no intersection"
else
debug.print retvar(0)
debug.print retvar(1)
end if
end sub
难道用延伸的方法交于这条曲线?这个程序代码如何实现?
我是初学者,还请这方面的高手帮我解答。

intersectwith这个方法有几个参数,你应该看一下
intersectwith 方法
获取对象与图形中其它对象的相交点。
语法
retval = object.intersectwith(intersectobject, extendoption)
object
所有图形对象 (除了 pviewport 和 polygonmesh)
使用该方法的对象或对象集合。
intersectobject
object[对象], 为输入项;
对象可以是 所有图形对象中的任一个。
extendoption
acextendoption 常数; 为输入项
该选项指定两个对象中是否没有、单个或两个对象延伸来得到交点。
acextendnone
两个对象均不延伸。
acextendthisentity
延伸基本对象。
acextendotherentity
延伸作为参数传递的对象。
acextendboth
延伸两个对象。
retval
variant[变体] (双精度数组)
点数组为图形中对象与其它对象相交的点数组。
说明
如果两个对象不相交,则没有返回数据。用户可以要求一个或两个对象延伸相交来产生相交点。例如,在以下例图中,线1为该方法调用的基本对象,而线3作为参照传递给该方法。如果 extendoption 传递的是 acextendthisentity,则点a将作为线1在延伸后与线3相交的点返回 。如果 extendoption 为 acextendotherentity,则不会返回数据,因为即使线3延伸了,它也与线1没有相交。

没有相交则没有返回值,retvar 为空,未初始化


所有的时间均为北京时间。 现在的时间是 02:47 PM.