本帖最后由 qinhengda 于 2025-9-26 23:53 编辑
请问各位大神,如何打断圆内的线条?如图片所示:
网友答: (defun c:ctr (/ ss n s1)
(setq ss (ssget '((0 . "circle"))) n 0)
(repeat (sslength ss)
(setq s1 (ssname ss n))
(command "trim" s1 "" "non" (cdr (assoc 10 (entget s1))) "" )
(setq n (1+ n))
)
(princ)
)
网友答: 本帖最后由 amook147 于 2025-9-28 11:06 编辑
圆心不在直线上删除不了 而且有各种BUG 而且圆弧多了 裁剪的时候 明显慢网友答:
是的,我原先的思路就是这个,就是太多bug了,线一定要精准穿过圆心网友答: 用横线和每个圆形求交点,之后得到一堆的X,排序一下,然后不断打断就好了.网友答: 如果只是直线,直接求交点,重新生成需要的直线段网友答: 把原始直线删除,entmake重新画短的连接线,只需要心动的那么点时间。网友答: 如果是直线,还不如重新阵列画一个这样的网友答:
是这个意思吧 你试试吧
网友答:
阵列也可以 但是不规则的 阵列就没办法了网友答:
这个好 下载研究;这次居然不收费了
网友答:
感觉代码还可以精简些网友答:
改成直接框选 一次成型的就行了 框选的时候连线段也一起选择上 一次性处理
请问各位大神,如何打断圆内的线条?如图片所示:
网友答: (defun c:ctr (/ ss n s1)
(setq ss (ssget '((0 . "circle"))) n 0)
(repeat (sslength ss)
(setq s1 (ssname ss n))
(command "trim" s1 "" "non" (cdr (assoc 10 (entget s1))) "" )
(setq n (1+ n))
)
(princ)
)
网友答: 本帖最后由 amook147 于 2025-9-28 11:06 编辑
隽轩2013 发表于 2025-9-28 10:45
(defun c:ctr (/ ss n s1)
(setq ss (ssget '((0 . "circle"))) n 0)
(repeat (sslength ss)
圆心不在直线上删除不了 而且有各种BUG 而且圆弧多了 裁剪的时候 明显慢网友答:
amook147 发表于 2025-9-28 11:02
圆心不在直线上删除不了 而且有各种BUG 而且圆弧多了 裁剪的时候 明显慢
是的,我原先的思路就是这个,就是太多bug了,线一定要精准穿过圆心网友答: 用横线和每个圆形求交点,之后得到一堆的X,排序一下,然后不断打断就好了.网友答: 如果只是直线,直接求交点,重新生成需要的直线段网友答: 把原始直线删除,entmake重新画短的连接线,只需要心动的那么点时间。网友答: 如果是直线,还不如重新阵列画一个这样的网友答:
是这个意思吧 你试试吧
网友答:
lxl217114 发表于 2025-9-27 09:50
如果是直线,还不如重新阵列画一个这样的
阵列也可以 但是不规则的 阵列就没办法了网友答:
amook147 发表于 2025-9-27 09:58
是这个意思吧 你试试吧
这个好 下载研究;这次居然不收费了
网友答:
amook147 发表于 2025-9-27 09:58
是这个意思吧 你试试吧
感觉代码还可以精简些网友答:
guosheyang 发表于 2025-9-27 15:38
感觉代码还可以精简些
改成直接框选 一次成型的就行了 框选的时候连线段也一起选择上 一次性处理