![]() |
【转帖】如何在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. |