2条平行线闭合成多段线
求助:大神。运用lisp后。只能一边闭合,而且多生成了一条直线。希望框选后能直接生成闭合的多段线求助修改,谢谢!
你那个太繁琐了,简化了一下 start4444 发表于 2019-8-1 11:02
你那个太繁琐了,简化了一下
你这个还需要判定一下起点和端点,要不又自相交叉的 直接PE就好 pe-m-j-距离-
xyp1964 发表于 2019-8-5 22:56
你好,请问这个有源码啊,谢谢,正需要,楼上的不可以框选。 你应该想多了,请先了解一下你说的你的楼上是干嘛的 dasha321 发表于 2021-7-5 15:52
你好,请问这个有源码啊,谢谢,正需要,楼上的不可以框选。
(defun c:tt () ;tt(平行线闭合成多段线)
(defun abc (l1 l2 / p1 p2 p3 p4 s1 s2)
(setq p1 (xyp-DXF 10 l1)
p2 (xyp-DXF 11 l1)
p3 (xyp-DXF 10 l2)
p4 (xyp-DXF 11 l2)
)
(if (inters p1 p4 p2 p3 nil)
(progn
(setq s1 (xyp-line p1 p3)
s2 (xyp-line p2 p4)
)
(xyp-PeditJoin (xyp-list2ss (list l1 l2 s1 s2)) 0)
)
(progn
(setq s1 (xyp-line p1 p4)
s2 (xyp-line p2 p3)
)
(xyp-PeditJoin (xyp-list2ss (list l1 l2 s1 s2)) 0)
)
)
)
(if (setq ss (ssget '((0 . "line"))))
(progn
(setq lst (xyp-Ss2List ss)
lst (vl-sort lst'(lambda (x y)(< (cadr (xyp-CurveMidPoint x))(cadr (xyp-CurveMidPoint y)))))
lst (xyp-List-Div lst 2)
)
(mapcar '(lambda (x)(if (= (length x) 2)(abc (car x) (cadr x))))lst)
)
)
(princ)
) xyp1964 发表于 2021-7-5 20:52
真心地感谢你,再次感谢你。谢谢
页:
[1]
2