明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: zolly

[提问] While循环如何终止ssget

[复制链接]
 楼主| 发表于 2024-9-3 10:21:47 | 显示全部楼层

循环中,执行ssget时,不选直接按空格就会出现这个错误:选择对象:  ; 错误: 参数类型错误: lselsetp nil                    然后就退出程序了
发表于 2024-9-3 10:22:59 | 显示全部楼层
需求好乱啊,调出while  也可以执行while外面的代码啊
 楼主| 发表于 2024-9-3 10:29:43 | 显示全部楼层
tryhi 发表于 2024-9-3 09:57
没看懂在问什么,重新组织一下问题吧

就是while里面有ssget,然后ssget循环几次后,我不想选了,然后到ssget时不选,按空格或回车后就出错,导致整个程序就出错退出了
 楼主| 发表于 2024-9-3 10:31:57 | 显示全部楼层
有可能就是ssget这个命令本身的问题,有没有大神可以解决这个问题

点评

可以肯定ssget没问题,有问题的绝对是人的问题  发表于 2024-9-3 10:33
发表于 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了?发代码看看
发表于 2024-9-3 11:07:36 | 显示全部楼层
向大佬们学习
发表于 2024-9-3 11:20:10 | 显示全部楼层
本帖最后由 dcl1214 于 2024-9-3 19:16 编辑

  1. ;徒手写的代码,没有测试,你自己测试,我在群里经常提到这个函数vl-catch-all-apply

  2. (PROGN (SETQ GO T)
  3.        (while GO
  4.    (setq ss (VL-CATCH-ALL-APPLY 'ssget))
  5.    (IF (VL-CATCH-ALL-ERROR-P SS)
  6.      (SETQ SS NIL)
  7.    )
  8.    (IF(and ss (> (SSLENGTH SS) 1))
  9.      (SETQ GO NIL)
  10.    )
  11.    (setq ss NIL)
  12.        )
  13. )


发表于 2024-9-3 11:42:37 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2024-9-3 11:44 编辑

太极端了吧,ssget 都要用VL-CATCH-ALL-APPLY ?
(while(setq ss (ssget))
   。。。
)不就好了吗?
回复 支持 1 反对 0

使用道具 举报

发表于 2024-9-3 11:49:28 | 显示全部楼层

其实他出错并不是ssget,他出错的是SSLENGTH
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 11:39 , Processed in 0.148081 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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