明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 开心无惧

[提问] 请教 把断开的矩形 自动连接上

[复制链接]
 楼主| 发表于 2025-11-2 18:47:11 | 显示全部楼层
edata 发表于 2025-11-1 10:55
先分解为直线,
join合并直线
pe链接为多段线。

谢谢
不连续的线 用JOIN合并不了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-11-2 18:49:06 | 显示全部楼层
hhh454 发表于 2025-11-1 14:13
DeepSeek-R1-满血版(0528)辅助

复制上面的代码就行,一样的

非常谢谢 又补充了一些说明
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-11-2 18:54:54 | 显示全部楼层
qifeifei 发表于 2025-10-31 17:32
ex延申就行了 你这个都是方正的

谢谢 又补充了一些说明
回复 支持 反对

使用道具 举报

发表于 2025-11-2 18:54:56 来自手机 | 显示全部楼层
我觉得用外包围函数比较好搞,取得外包围了,内框也能算出来。
回复 支持 反对

使用道具 举报

发表于 2025-11-2 23:11:18 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-11-3 11:05:52 | 显示全部楼层

示意图是可以点选可以框选吗?
回复 支持 反对

使用道具 举报

发表于 2025-11-3 11:30:02 | 显示全部楼层
开心无惧 发表于 2025-11-3 11:05
示意图是可以点选可以框选吗?

仅表示实体都是4点多段线,点选和框选都可以
回复 支持 反对

使用道具 举报

发表于 2025-11-3 13:32:47 | 显示全部楼层
本帖最后由 llsheng_73 于 2025-11-3 13:53 编辑

取每条线的(起点 第二点)和(终点、倒数第二点)组成表,对每四个点进行共线检查,如果起点与终点都在(第二点、倒数第二点)所在直线段内,则连接(起点  终点),则达到楼主需求
  1. (defun PToLn(p p1 p2);;;点p到p1,p2所在直线分量
  2.   (trans(mapcar'- p1 p) 0 (mapcar'- p1 p2)))
  3. (defun s2e(s)
  4.   (vl-remove'nil(mapcar'(lambda(x)(if(=(type(cadr x))'ename)(cadr x)))(ssnamex s))))
  5. (defun c:tt(/ s p p1)
  6.   (setq s(apply'append(mapcar(function(lambda(x / n)(setq n(vlax-curve-getendparam x))
  7.        (list(list(vlax-curve-getpointatparam x 0)(vlax-curve-getpointatparam x 1))
  8.       (list(vlax-curve-getpointatparam x n)(vlax-curve-getpointatparam x(1- n))))))
  9.     (s2e(ssget'((0 . "lwpolyline")(-4 . "<not")(-4 . "&")(70 . 1)(-4 . "not>")))))))
  10.   (while(setq p(car s)s(cdr s))
  11.     (if(vl-some(function(lambda(x / d a b)
  12.         (and(not(equal p(reverse x)1e-5))
  13.             (setq d(distance(cadr p)(cadr x))
  14.             a(PToLn(car p)(cadr p)(cadr x))
  15.             b(PToLn(car x)(cadr x)(cadr p)))
  16.             (equal(car a)0 1e-5)
  17.             (equal(car b)0 1e-5)
  18.             (< 0(caddr a)d)
  19.             (< 0(caddr b)d)
  20.             (setq p1 x))))s)
  21.       (entmakex(mapcar'cons'(0 100 100 62 90 10 10)(list"LWPOLYLINE""AcDbEntity""AcDbPolyline"1 2(car p)(car p1)))))))

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1明经币 +1 收起 理由
aihuyujian + 1 很给力!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2025-11-3 18:26:10 | 显示全部楼层
llsheng_73 发表于 2025-11-3 13:32
取每条线的(起点 第二点)和(终点、倒数第二点)组成表,对每四个点进行共线检查,如果起点与终点都在(第二点 ...

是这样的效果 非常感谢
回复 支持 反对

使用道具 举报

发表于 2025-11-4 09:06:58 | 显示全部楼层
不错的帖子 顶一下
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-8 11:23 , Processed in 0.163710 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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