cq_qg 发表于 2007-8-14 12:08:51

怎么得到多义线各顶点相对应的水平线的各点

有一条多义线,在其上方或下方有一水平线,怎么能得到多义线各顶点相对应的水平线上的点,即沿各顶点垂直向上或向下与水平线的交点?lisp里面怎么实现?

小鱼儿 发表于 2007-9-8 09:40:42

比较好做的:
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 拱度)))) ...
页: [1]
查看完整版本: 怎么得到多义线各顶点相对应的水平线的各点