本帖最后由 作者 于 2009-9-16 21:24:49 编辑
楼上所言不差,1楼的算法是复杂了,射线法可能是一种不错的算法。 射线法原理如下: 在通过指定的点绘制一条射线,有凸度的线排除掉切点,对有顶点的排除掉顶点,然后交点为奇数的即可判断为在曲线内。 正如你所说intersectwith存在的不确定因素,所以我还还有一种思路,不用intersectwith 的,不知可否: 1.将曲线写入特定的XDATA; 2.用XDATA作为过滤条件 (ssget "f" 。。。)创建选集 3.用 ssnamex 得到交点 4.用上面射线法排除顶点和切点 5.删除XDATA 我估计ssget和XDATA的效率很低,但是起码不用intersectwith了 |