只需一步,快速开始
比如,有以下两个语句:
(((setq s(ssget "x" '((0 . "TEXT") (8 . "21000")))))))
(((setq s(ssget "x" '((0 . "TEXT") (8 . "22000")))))))
如果21000图层没有图元时,第一个语句就返回nil,程序到此就终止了,不会执行第二个语句
有没办法第一个语句无法执行时,直接跳过,接着读取第二个语句呢?
谢谢啦!
使用道具 举报
这个问题的解决方法很多
建议楼主先看看书学习Lisp基础。
我看程序退出的原因和第一句是否返回nil没有关系,
原因是楼主外面写多了括号。
你可以写成一句
(setq s (ssget "x" '((0 . "TEXT")(-4 . "<OR") (8 . "22000") (8 . "21000") (-4 . "OR>"))))
这样,如果还返回nil即是没有可操作的对象了
下面的语句也没有了再执行的必要
(ssget "x" '((0 . "TEXT")(8 . "2?000")))
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-11-6 03:02 , Processed in 0.187619 second(s), 25 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.