将点逐个添加到直线
在我的规划项目中,lee mac lisp areatable帮了我很多忙。你能通过lisp帮我吗(通过多选向直线的每个端点和两条直线的每个交点添加点,如果有两条或三条直线从一个点开始,lisp只创建一个点。如果你为我这样做,我将非常感激。Emad公司 *耸耸肩*编码很有趣
(defun c:LinePoints ( / i j ss e1 e2 p1 p2 p3 points )
(if (setq i -1 ss (ssget '((0 . "LINE"))))
(progn
(while (setq e1 (ssname ss (setq i (1+ i) j i)))
(setq points
(cons (setq p1 (cdr (assoc 10 (entget e1))))
(cons (setq p2 (cdr (assoc 11 (entget e1)))) points)
)
)
(while (setq e2 (ssname ss (setq j (1+ j))))
(if (setq p3 (inters p1 p2 (cdr (assoc 10 (entget e2))) (cdr (assoc 11 (entget e2)))))
(setq points (cons p3 points))
)
)
)
(while points (entmakex (list (cons 0 "POINT") (cons 10 (car points))))
(setq points
(vl-remove-if '(lambda ( x ) (equal (car points) x 1e-) (cdr points))
)
)
)
)
(princ)
) 李,我很高兴你的帮助,它与我一起工作!!
谢谢,非常感谢
emad公司
页:
[1]