尘缘一生
发表于 2018-9-22 07:06:28
最小距离为3.0
;;; **********用模糊距离连接线,弧和多义线***************
(defun c:jf ()
(c:pljoinfuzz)
)
(defun c:pljoinfuzz (/ ss1 entLine objType oldcmdecho oldpeditaccept fuzz okObjects)
(setq oldcmdecho (getvar "cmdecho"))
(setq oldpeditaccept (getvar "PEDITACCEPT"))
(setvar "cmdecho" 0)
(setq A2k4 (>= (substr (getvar "ACADVER") 1 2) "16"))
(if A2k4 (setvar "PEDITACCEPT" 0))
(setqokObjects '((0 . "LINE,ARC,POLYLINE,LWPOLYLINE")))
(princ "\nSelect object to join: ")
(setq ss1 (ssget okObjects))
(setq fuzz (getdist "\n模糊距离为<3.0>: "))
(if (= fuzz nil)
(setq fuzz (* (getvar "DIMSCALE") 3.0))
)
(if (/= ss1 nil)
(progn
(setq objType (cdr (assoc 0 (entget (setq entLine (ssname ss1 0))))))
(if (= (sslength ss1) 1)
(setq ss1 (ssget "X" okObjects))
)
(if (member objType '("LINE" "ARC"))
(command "_.pedit" "_M" ss1 "" "_Y" "_J" "_J" "_B" fuzz "")
(command "_.pedit" "_M" ss1 "" "_J" "_J" "_B" fuzz "")
)
)
)
(setq ss1 nil)
(setvar "cmdecho" oldcmdecho)
(if A2k4 (setvar "PEDITACCEPT" oldpeditaccept))
(princ)
)
纵横八方
发表于 2018-9-22 11:20:03
好强大的哦
haipingtao
发表于 2019-2-24 17:35:12
无意中看到,好用,谢谢楼主分享!!
xyp1964
发表于 2019-2-26 13:24:47
;; 感觉高版本的有问题
;; 用模糊距离连接线,弧和多义线
(defun c:tt ()
(setvar "PEDITACCEPT" 1)
(setq fuzz (Udist 5 "" "距离<输入或鼠标直接量取>" fuzz nil))
(setq qf '((0 . "LINE,ARC,*POLYLINE")))
(princ "\n选择实体<退出>: ")
(if (setq ss (ssget qf))
(command "_.pedit" "_M" ss "" "_J" "_J" "_B" fuzz "")
)
(princ)
)
尘缘一生
发表于 2019-6-15 01:01:36
本帖最后由 尘缘一生 于 2019-6-15 01:06 编辑
此程序误选一根会死机,为此修改下:
ddbegg
发表于 2019-6-19 08:36:58
尘缘一生 发表于 2019-6-15 01:01
此程序误选一根会死机,为此修改下:
有没有解决模糊距离无效的问题? 命令 pm - j - j 下面合并类型中 添加(A) 及两者都(B) 对模糊距离不起作用,不知道大神有没有解决办法,感谢
ddbegg
发表于 2019-6-19 08:40:25
xyp1964 发表于 2019-2-26 13:24
;; 感觉高版本的有问题
命令 pm - j - j 下面合并类型中 添加(A) 及两者都(B) 对模糊距离不起作用,不知道版主能不能给支个招?
说明白点,就是设置了模糊距离只对合并类型中的 延伸 有效,试了好久都这样,不知道是什么原因?
LIULISHENG
发表于 2020-2-9 22:06:47
支持一下这个
bluefcc1
发表于 2020-2-10 10:33:55
強烈支持--
mokson
发表于 2020-3-25 22:13:33
本帖最后由 mokson 于 2020-3-25 22:14 编辑
功能特别强大。感谢分享!