求助双向偏移出错
大神们,麻烦你们帮老弟看看这个怎么用一段时间后就会出现错误,如果修改才能一直正常使用呢?不知道哪个函数出了问题:Q-:Q-
(defun c:sx (/ getds obj)
(vl-load-com)
(setvar 'cmdecho 0)
(initget 2)
(setq getds (getdist "\n输入偏移距离<可直接量取>:"))
(if (ssget ":s" '((0 . "Arc,Circle,Ellipse,*Line")))
(vlax-for obj (vla-get-activeselectionset
(vla-get-activedocument (vlax-get-acad-object))
)
(vla-offset obj getds)
(vla-offset obj (* getds -1))
)
(vlax-release-object obj)
)
(if (not (getpoint "\n按鼠标左键不删除源对象 <空格删除>"))
(command "_.ERASE" (ssget "p") "")
)
(princ)
)
用一段时间,有时半个小时,有时一两个小时后,就会出现以下错误:
命令: SX
输入偏移距离<可直接量取>:9
选择对象:
; 错误: Automation 错误。 调用方法 AddItems (接口 IAcadSelectionSet) 失败
(defun c:sx (/ getds ss i e obj)
(vl-load-com)
(setvar 'cmdecho 0)
(initget 2)
(setq getds (getdist "\n输入偏移距离<可直接量取>:"))
(if (not getds)
(exit)
)
(setq ss (ssget '((0 . "Arc,Circle,Ellipse,*Line"))))
(if (not ss)
(exit)
)
(setq i 0)
(repeat (sslength ss)
(setq e (ssname ss i)
obj (vlax-ename->vla-object E)
i (1+ i)
)
(vl-catch-all-apply 'vla-offset (list obj getds))
(vl-catch-all-apply 'vla-offset (list obj (* getds -1)))
)
(if (not (getpoint "\n按鼠标左键不删除源对象 <空格删除>"))
(command "_.ERASE" (ssget "p") "")
)
(princ)
) liuhe 发表于 2023-9-14 11:13
:handshake:handshake青岛啤酒已安排好~~大哥有请 不愧是大神,厉害,能不能改进一下有个记录上次数据的功能 不错,挺好用
不错,挺好用
页:
[1]