LIULISHENG
发表于 2020-5-20 13:45:08
这个太好了
jkop
发表于 2023-5-25 09:09:36
拆解他人图档的时候常用,这个程序真实用。
包哥
发表于 2023-7-8 09:35:14
只能合并顶点相互重合的直线,但是无法合并共线但是直线不相接的直线,盼望改进~~~
cghdy
发表于 2025-3-15 19:04:24
本帖最后由 cghdy 于 2025-3-15 19:26 编辑
黄大师,帮你改一下函数,浮点数精度导致的错误,有时会选错直线的点连接。
[*](defun joinLine (e e1 fuzz / ANG1 EN EN1 P1 P2 P3 P4 P5 P6 pa1 pa2 PLIST)
[*] (setq en (entget e))
[*] (setq p1 (LI_item 10 en))
[*] (setq p2 (LI_item 11 en))
[*] (setq ang1 (+ (angle p1 p2) (* pi 0.5)))
[*] (setq en1 (entget e1))
[*] (setq p3 (LI_item 10 en1))
[*] (setq p4 (LI_item 11 en1))
[*] (setq p5 (polar p3 ang1 20))
[*] (setq p5 (inters p1 p2 p3 p5 nil))
[*] (setq p6 (polar p4 ang1 20))
[*] (setq p6 (inters p1 p2 p4 p6 nil))
[*] (if (and (< (distance p5 p3) fuzz)
[*] (< (distance p6 p4) fuzz)
[*] (or (< (distance p3 p1) fuzz)
[*] (< (distance p3 p2) fuzz)
[*] (< (distance p4 p1) fuzz)
[*] (< (distance p4 p2) fuzz)
[*] (Between p3 p1 p2 fuzz)
[*] (Between p4 p1 p2 fuzz)
[*] )
[*] )
[*] (progn
[*] (setq Plist (Sort_XYZ_pList (list p1 p2 p5 p6)))
[*] (setq pa1 (car Plist))
[*] (setq pa2 (last Plist))
[*] (setq en (subst (cons 10 pa1) (assoc 10 en) en))
[*] (entmod (subst (cons 11 pa2) (assoc 11 en) en))
[*] (command "_.erase" e1 "")
[*] )
[*] )
[*])