zolly
发表于 2024-9-3 10:21:47
飞雪神光 发表于 2024-9-3 10:10
循环中,执行ssget时,不选直接按空格就会出现这个错误:选择对象:; 错误: 参数类型错误: lselsetp nil 然后就退出程序了
liuhe
发表于 2024-9-3 10:22:59
需求好乱啊,调出while也可以执行while外面的代码啊
zolly
发表于 2024-9-3 10:29:43
tryhi 发表于 2024-9-3 09:57
没看懂在问什么,重新组织一下问题吧
就是while里面有ssget,然后ssget循环几次后,我不想选了,然后到ssget时不选,按空格或回车后就出错,导致整个程序就出错退出了
zolly
发表于 2024-9-3 10:31:57
有可能就是ssget这个命令本身的问题,有没有大神可以解决这个问题
tryhi
发表于 2024-9-3 10:32:07
zolly 发表于 2024-9-3 10:29
就是while里面有ssget,然后ssget循环几次后,我不想选了,然后到ssget时不选,按空格或回车后就出错,导 ...
给出完整代码以及出错提示
飞雪神光
发表于 2024-9-3 10:55:43
zolly 发表于 2024-9-3 10:21
循环中,执行ssget时,不选直接按空格就会出现这个错误:选择对象:; 错误: 参数类型错误: lselsetp nil ...
你在while跳出后又使用ss了?发代码看看
czb203
发表于 2024-9-3 11:07:36
向大佬们学习
dcl1214
发表于 2024-9-3 11:20:10
本帖最后由 dcl1214 于 2024-9-3 19:16 编辑
;徒手写的代码,没有测试,你自己测试,我在群里经常提到这个函数vl-catch-all-apply
(PROGN (SETQ GO T)
(while GO
(setq ss (VL-CATCH-ALL-APPLY 'ssget))
(IF (VL-CATCH-ALL-ERROR-P SS)
(SETQ SS NIL)
)
(IF(and ss (> (SSLENGTH SS) 1))
(SETQ GO NIL)
)
(setq ss NIL)
)
)
自贡黄明儒
发表于 2024-9-3 11:42:37
本帖最后由 自贡黄明儒 于 2024-9-3 11:44 编辑
dcl1214 发表于 2024-9-3 11:20
太极端了吧,ssget 都要用VL-CATCH-ALL-APPLY ?
(while(setq ss (ssget))
。。。
)不就好了吗?
tryhi
发表于 2024-9-3 11:49:28
dcl1214 发表于 2024-9-3 11:20
其实他出错并不是ssget,他出错的是SSLENGTH