【原创】批量连接直线、圆弧、多义线--源码,很简单
本帖最后由 hhh454 于 2010-12-6 11:22 编辑(defun c:pp()
(prompt "\n 多项选择同时连线----钮广春整理--★QQ-626860125★")
(command "peditaccept" 1) ;加入这个系统变量的代码
(setq ngc01 (ssget))
(command "_pedit" "m" ngc01 "" "j" "0.1" ""))
;略作修改
(defun c:pp()
(setq cm (getvar "cmdecho"))
(setvar "cmdecho" 0)
(prompt "\n 多项选择同时连线----钮广春整理--★QQ-626860125★")
(setvar "peditaccept" 1) ;加入这个系统变量的代码
(if (setq ngc01 (ssget '((0 . "LINE,ARC,LWPOLYLINE,POLYLINE"))))
(command "_pedit" "m" ngc01 "" "j" "0.1" "")
)
(setvar "cmdecho" cm)
(princ)
)
(defun c:pp ( / *Error* peditaccept ss usercmd)
(defun *Error* (msg)
(if (and msg (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,*EXIT*,")))(princ))
(and usercmd (setvar "CMDECHO" usercmd))
(vla-EndUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)))
)
(setq *DOC (vla-get-ActiveDocument (vlax-get-acad-object)))(vla-StartUndoMark *DOC)
(setq usercmd (getvar "CMDECHO"))(setvar "CMDECHO" 0)
(if (setq ss (ssget '((0 . "ARC,LINE,LWPOLYLINE"))))
(progn
(setq peditaccept (getvar 'peditaccept))
(setvar 'peditaccept 1)
(command "_.pedit" "_M" ss "" "_J" "" "")
(setvar 'peditaccept peditaccept)
)
)
(*error* nil)
(princ)
) 非常感谢,解决一直不能解决的问题 应加入出错退出,esc退出处理,否则易死机 这个我不会呀,新手刚刚起步 新手上路,希望得到帮助。 不错,都比我牛逼。
不过会变成多段线,也没有esc退出处理 回复 xyz2009xyz 的帖子
这个不需要,esc的退出处理,一般不会死机的,连接起来只能是多段线了 论坛上有这种,不会改变属性的连接程序。VBA的是源码,就是有点长,还有一个是.VLX的都可以! 呵呵,挺好的 回复 yxl88168 的帖子
客气了,简单的,复杂的也不会弄