objectarx中判断直线相交
刚开始使用的是AcDbLine对象的intersectWith函数,因为在网上搜索到的有些是说用这个函数的。但是随着我的程序测试的深入,发现这个函数有点问题,两条直线并没有重合,为什么会返回两个交点?
有网友说是根据包围盒算出来的,具体我也不是很清除。后来就换了AcGeLineSeg3d类。
objectarx我了解的也不多,原来AcGe开头的类是用来计算的,不是放在数据库里面的,AcGe的对象非常适合用来计算交点。
但是这里面也有一个问题要注意:使用的intersectWith函数是在AcGeLinearEnt3d类里面的,这个类是个抽象基类,需要使用其派生类,派生类里面的AcGeLine3d是数学中的直线,也就是无限延长的线,AcGeLineSeg3d是直线段,一定要分清楚。
浙公网安备 33010602011771号