鑫诚科技 发表于 2023-9-14 10:24:29

求助双向偏移出错

大神们,麻烦你们帮老弟看看这个怎么用一段时间后就会出现错误,如果修改才能一直正常使用呢?不知道哪个函数出了问题

: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) 失败

liuhe 发表于 2023-9-14 11:13:57

(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)
)

鑫诚科技 发表于 2023-9-15 15:38:47

liuhe 发表于 2023-9-14 11:13


:handshake:handshake青岛啤酒已安排好~~大哥有请

acoff 发表于 2023-11-2 20:46:41

不愧是大神,厉害,能不能改进一下有个记录上次数据的功能

zmzk 发表于 2023-11-30 21:39:28

不错,挺好用

haoxuan 发表于 2023-12-3 10:26:19


不错,挺好用
页: [1]
查看完整版本: 求助双向偏移出错