比较好做的:
1、构造选择集、获取图元数据
(setq ss (ssget))
...
(setq ent (entget (ssname ss n)))
2、判断、读取各顶点的坐标和拱度
(= (cdr (assoc 0 ent)) "LWPOLYLINE")
...
(setq m 0)
(repeat (length ent)
(if (= (car (nth m ent)) 10)
(setq pt(cdr (nth m ent)) ;端点
ar(cdr (nth (+ m 3) ent)) ;拱度
ff (cons (list pt ar) ff)
)
...
)
)
...
3、处理FF,通过前后两点拱度可以知道两点间线型(直线或弧),直线就很好处理,如果是圆弧先可以得到圆心角((* 4.0 (atan (abs 拱度)))) ... |