求助,哪位高手有多条线段一键相交,自动裁剪的插件?
请问各位高手有多条线段一键相交,自动裁剪的插件,就是两条线段一键相交,合并为一条线段,并把多余的部分裁剪了
http://bbs.mjtd.com/forum.php?mod=attachment&aid=MTMyMDQyfDU2ZmMyYmUxfDE3MDQ5NTY4Mjh8NzMzMjQwM3wxODkyNzU%3D&noupdate=yes
就比如让左边的线段,变成右边这样的插件
本帖最后由 自贡黄明儒 于 2024-1-11 16:13 编辑
使用command trim extend基本上就可以达到要求。本论坛上,好像有人发过 自贡黄明儒 发表于 2024-1-11 16:05
使用command trim extend基本上就可以达到要求。本论坛上,好像有人发过
大佬,有没有链接发一下:lol 论坛有人发过 要不我提供付费服务?;P zm880928 发表于 2024-1-13 08:11
论坛有人发过
l链接有没有你能不能发一下:lol (defun c:11 () ;; 获取当前系统变量值 (setq oldcmdecho (getvar "cmdecho")) (setq oldpeditaccept (getvar "PEDITACCEPT")) ;; 设置新的系统变量值 (setvar "cmdecho" 0) (if (>= (substr (getvar "ACADVER") 1 2) "16") (setvar "PEDITACCEPT" 0) ) ;; 定义允许的对象类型 (setq okObjects '((0 . "LINE,ARC,POLYLINE,LWPOLYLINE"))) ;; 提示用户选择对象 (princ "\n选择要连接的对象:") (setq ss1 (ssget okObjects)) (if (not ss1) (progn (princ "\n未选择任何对象。") (return) ) ) ;; 获取偏差距离 (setq fuzz (getdist "\n偏差距离 <0>: ")) (if (= fuzz nil) (setq fuzz 0) ) ;; 连接对象 (setq entLine (ssname ss1 0)) (setq entityType (cdr (assoc 0 (entget entLine)))) (if (= (sslength ss1) 1) (setq ss1 (ssget "X" okObjects)) ) (if (or (equal entityType "LINE") (equal entityType "ARC")) (command "_.pedit" "_M" ss1 "" "_Y" "_J" "_J" "_B" fuzz "") (command "_.pedit" "_M" ss1 "" "_J" "_J" "_B" fuzz "") ) ;; 恢复原始系统变量值 (setvar "cmdecho" oldcmdecho) (if (>= (substr (getvar "ACADVER") 1 2) "16") (setvar "PEDITACCEPT" oldpeditaccept) ) (princ) )
页:
[1]