明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 883|回复: 2

[讨论] 请教大神们一个问题,批量偏移时,在出错的情况是下,如何跳过出错的继续偏移,谢谢

[复制链接]
发表于 2023-7-17 13:37:26 | 显示全部楼层 |阅读模式
请教大神们一个问题,批量偏移时,在出错的情况是下,如何跳过出错的继续偏移

选择对象:
Automation 错误。未提供说明。


  1. (defun c:tt()
  2.   (vl-load-com)
  3.   (if (setq ss (ssget ))
  4.     (progn
  5.       (setvar "OSMODE" 0)
  6.       (repeat (setq k (sslength ss))
  7.   (setq ent (ssname ss (setq k (1- k))))
  8.   (setq obj (vlax-ename->vla-object ent))
  9.   (vla-offset obj 5)
  10.   )
  11.       )
  12.     )
  13.   (princ)
  14.   )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2023-7-17 14:01:48 | 显示全部楼层
  1. (defun c:tt ()
  2.   (vl-load-com)
  3.   (if (setq ss (ssget))
  4.     (progn (setvar "OSMODE" 0)
  5.      (repeat (setq k (sslength ss))
  6.        (setq ent (ssname ss (setq k (1- k))))
  7.        (setq obj (vlax-ename->vla-object ent))
  8.        (vl-catch-all-apply 'vla-offset(list obj 5))
  9.      )
  10.     )
  11.   )
  12.   (princ)
  13. )
将参数表传递给指定函数并截取错误
(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


回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-7-17 15:28:00 | 显示全部楼层
liuhe 发表于 2023-7-17 14:01
将参数表传递给指定函数并截取错误(vl-catch-all-apply 'function list)参数’function函数。function 参数 ...

非常感谢,可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-17 00:27 , Processed in 0.190863 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表