明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 自贡黄明儒

共线直线并批量连接-------多段线连接-------Join

  [复制链接]
发表于 2020-5-20 13:45:08 | 显示全部楼层
这个太好了
发表于 2023-5-25 09:09:36 | 显示全部楼层
拆解他人图档的时候常用,这个程序真实用。
发表于 2023-7-8 09:35:14 | 显示全部楼层
只能合并顶点相互重合的直线,但是无法合并共线但是直线不相接的直线,盼望改进~~~
发表于 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 "")
  •       )
  •     )
  •   )

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-4-2 18:33 , Processed in 0.264694 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表