最初由 aeo 发布
[B]怎么判断我所选择的曲线里有和这曲线重叠的曲线曾在.
怎么得到得到这些重叠曲线的选择? [/B]
直线和PL好判断吧,弧线和圆用圆心是否相同,弧端点是否在你这个曲线上判断。
应该够用了吧?
SPLINE也有方法。
最好的方法是不管什么线,任何曲线,得到他的样本点(比如满足误差的等分点),然后判断这些点是否有都在你曲线上就行了(事先判断下长短区分下,长的做源)。
 - [font=courier new]
- 89. xdrx_getsamplept
- 功能:按给定精度,返回AcDbCurve类曲线和AcDb2dPolyline(旧的POLYLINE)的样本点。将复杂的曲线用点组成的线段模拟。
- 调用格式:(xdrx_getsamplept <AcDbCurve 或 AcDb2dPolyline实体图元名> [精度控制])
- 说明:给定的[精度控制]值玄高差越小,精度越高,分段数越大,精度越高。
-
- 精度控制只对曲线段有效,对于POLYLINE,对直线段无效,对其中的ARC段数据起做用。
-
- 若不给[精度控制]参数,那么程序自己计算出相对满足视觉误差的值做为玄高差进行分段。
- [精度控制]:分两种方法
- 1:给整数,按给定的整数分曲线段
- 2:给实数,做为玄高差
-
- 注意:对于AcDbSpline,只能给定"玄高差",若给整数值,那么程序按照计算的相对最优值做为玄高差。
- 返回值:若成功,返回点表,点表肯定包括曲线的开始点和终止点。(p1 p2......),失败返回NIL.
- 示例:用LINE模拟SPLINE
- (if (setq en (xdrx_entsel "\n请点取一个Spline<退出>:") '((0 . "spline"))))
- (progn
- (setq ed (xdrx_getsamplept (car en)))
- (apply 'command (cons "line" ed))
- (command "")
- )
- [/font]
|