MiGo 发表于 2022-7-6 14:47:45

脚本问题

有没有办法确定最后一个命令是否返回错误,并将其放入if语句中?我遇到过一些绘图,其中有人关闭了视口并忘记了它,因为它与标题边框的颜色和形状相匹配。因此,当我使用脚本进入视口时,有时会出现错误,因为视口已关闭,然后脚本再次在前一个视口上运行。
 
(if(错误逻辑)
(普林斯
在这里做事。。。
)
)
 
因此,如果视口处于关闭状态,那么我可以正确地移动到下一个视口。另一个问题是,如果视口处于关闭状态,则我使用的(长度(vports))中不会考虑它,因此这将允许我对此进行解释。

Lee Mac 发表于 2022-7-6 15:12:05

您可以使用一些VL错误捕捉:
 

(if (not (vl-catch-all-error-p
          (vl-catch-all-apply
            <function>
            <list>
            )
          )
      )
)

 
如果适用

MiGo 发表于 2022-7-6 15:30:52

不管怎样,我找到了另一种实现目标的方法
 
模型空间
(setvar“cvport”专有网络)
(如果(>vpc(getvar“cvport”))
(setq vpc(1+vpc))
)
(如果(>vpc(getvar“cvport”))
(命令“rscript”)
)
 
将mspace置于顶部将返回消息“已在模型空间中,但未出错”。因此,该小节后面的额外空间将返回该消息,直到cad接受下一个视口为止,跳过if语句,只执行另一个mspace。
 
如果你想查看的话,我已经把脚本发布在这个AutoCAD General部分了。

Lee Mac 发表于 2022-7-6 15:54:47

 
 
很高兴你把它整理好了,米戈,我去看看
 
页: [1]
查看完整版本: 脚本问题