请教大神们一个问题,批量偏移时,在出错的情况是下,如何跳过出错的继续偏移,谢谢
请教大神们一个问题,批量偏移时,在出错的情况是下,如何跳过出错的继续偏移选择对象:
Automation 错误。未提供说明。
(defun c:tt()
(vl-load-com)
(if (setq ss (ssget ))
(progn
(setvar "OSMODE" 0)
(repeat (setq k (sslength ss))
(setq ent (ssname ss (setq k (1- k))))
(setq obj (vlax-ename->vla-object ent))
(vla-offset obj 5)
)
)
)
(princ)
)
(defun c:tt ()
(vl-load-com)
(if (setq ss (ssget))
(progn (setvar "OSMODE" 0)
(repeat (setq k (sslength ss))
(setq ent (ssname ss (setq k (1- k))))
(setq obj (vlax-ename->vla-object ent))
(vl-catch-all-apply 'vla-offset(list obj 5))
)
)
)
(princ)
)将参数表传递给指定函数并截取错误(vl-catch-all-apply 'function list)参数’function函数。function 参数可以为标识 defun 的符号或 lambda 表达式。list表,包含要传递给函数的参数。返回值如果成功则返回函数调用的结果。如果出现错误,vl-catch-all-apply 返回一个错误对象。确定参数是否是 vl-catch-all-apply 返回的错误对象(vl-catch-all-error-p arg)参数arg任何参数。返回值如果提供的参数是 vl-catch-all-apply,返回的错误对象,则为 T,否则为 nil。示例使用 vl-catch-all-apply 时被零除:_$ (setq catchit (vl-catch-all-apply '/ '(50 0)))#<%catch-all-apply-error%>使用 vl-catch-all-error-p 确定 vl-catch-all-apply 返回的值是否为错误对象:_$ (vl-catch-all-error-pcatchit)
T
liuhe 发表于 2023-7-17 14:01
将参数表传递给指定函数并截取错误(vl-catch-all-apply 'function list)参数’function函数。function 参数 ...
非常感谢,可以了
页:
[1]