乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 77|回复: 3

[编程交流] 关于退出一段时间的问题

[复制链接]

59

主题

327

帖子

268

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
295
发表于 2022-7-6 09:37:54 | 显示全部楼层 |阅读模式
你好,
 
在我的一段代码中,我使用了以下内容:
 
  1. (princ "\nSpecify insertion point")
  2. (while
  3. (not
  4.    (command "_.insert" BlockName "_s"
  5. (getvar "DIMSCALE") pause pause)
  6. )
  7. ;_not
  8.       ) ;_while

 
这很好,但我有两个问题,我相信我应该能够回答自己,但我就是不明白。
 
1、代码中NOT的用法是什么?我知道我需要它在那里,但我如何阅读它的方式,我可以理解。
ie.“不”该做什么?这感觉毫无意义,这当然是愚蠢的,因为没有它,它根本就不会停留在循环中。
 
2.我只能在wich之前退出,因为我的错误捕捉工作正常,并且在恢复变量时节省了我的时间。(感谢Lee Macs关于错误捕捉的教程)。
但我发现退出更自然,因为我的鼠标右键。
 
我们将一如既往地感谢您的帮助!
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 10:15:39 | 显示全部楼层
1) (命令)始终返回nil。(not)如果测试返回零,则返回T。因此,只要测试返回nil或没有使用esc键,循环就会继续
 
2) 您需要彻底检查整个代码段,才能按enter键退出
 
也许 吧:
 
(while(getpoint“\n插入点:”)。。。。
 
-大卫
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:24:28 | 显示全部楼层
你好,Marco,
 
命令函数始终返回nil,因此,通过使用逻辑not函数,while测试条件始终得到满足,因此您仍处于循环中。
 
另一种方法可能是:
 
  1. (setq LastEntity T
  2.        Scale      (getvar 'DIMSCALE)
  3.        BlockName  "MyBlock.dwg"
  4. )
  5. (while (not (equal LastEntity ThisEntity))
  6.    (setq LastEntity (entlast))
  7.    (command "_.-insert" BlockName "_S" scale pause pause)
  8.    (setq ThisEntity (entlast))
  9. )

 
但是,由于您使用INSERT命令插入块,因此在提示输入点时不允许空输入,因此再次需要Esc退出循环。
 
避免使用Esc的一种可能的替代方法是使用getpoint/getangle提示:
 
  1. (setq Scale     (getvar 'DIMSCALE)
  2.        BlockName "test.dwg"
  3. )
  4. (while
  5.    (and
  6.      (setq pt (getpoint "\nSpecify Point: "))
  7.      (setq an (getangle "\nSpecify Angle: " pt))
  8.    )
  9.    (command "_.-insert" BlockName "_S" scale pt (angtos an))
  10. )

 
 
回复

使用道具 举报

59

主题

327

帖子

268

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
295
发表于 2022-7-6 10:48:40 | 显示全部楼层
@李和大卫
 
 
感谢您的回复!现在我知道了。。。一旦你知道这很容易
 
 
我用grread(类似(=(cadr gr)13)运行了它,但由于我希望能够使用OSNAP,我将它改回了常规插入。
 
使用getpoint的另一部分也是我所拥有的,但这并不能在屏幕上拖动鼠标时预览块。
 
该喝咖啡了。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-7 02:11 , Processed in 0.672008 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表