乐筑天下

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

[编程交流] 如何摆脱烦恼

[复制链接]

27

主题

113

帖子

90

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
132
发表于 2022-7-5 17:17:09 | 显示全部楼层
可以粘贴产生此错误的完整lisp例程吗?
 
现在还不知道“u”是做什么的,它是lisp的命令还是在AutoCAD中使用标准的“undo”(u)命令时会出现此错误?
 
可能lisp的编码有问题。我使用了许多lisp例程,但从未出现过这种错误。
 
编辑:看起来您正试图使用lisp例程“撤消”操作,但希望常规的撤消命令能够撤消lisp例程中的撤消操作。
实际上,尝试重做已撤消的操作,但AutoCAD中的“重做”命令甚至不起作用,因此lisp可能无法修复该问题。。。
回复

使用道具 举报

49

主题

177

帖子

130

银币

后起之秀

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

铜币
243
发表于 2022-7-5 17:22:48 | 显示全部楼层
我认为我们有点脱离主题。没有错误。我只想抑制在Autocad命令提示符下重复(Lisp表达式)得到的反馈。
 
我的嘴唇程序并没有撤销任何东西,它的主要动作是完全不同的。它基本上改变了属性为Nr.1的数百个块的颜色。它还可以通过单击删除所有具有此属性的块,还可以更改属性编号。如果错误,等等。
 
现在让我们假设我错误地删除了错误的块组,或者我错误地给了属性错误的编号。我希望在不重新插入块或重新选择它们的情况下撤消此操作(给出错误的数字意味着可能会与现有索引的其他索引混合)。如果我在第一篇文章中没有使用这两个“undo”命令,我将不得不手动撤销lisp例程中的所有步骤(u enter、u enter等等)。如果我们讨论一个删除了300个块的循环,那么这永远不会起作用,因此我在第一篇文章中提出了undo命令的解决方案。
 
如果有更好的方法可以一次撤销最后一次执行,而不需要(commad“undo”…并返回消息,请随时与我们分享。
回复

使用道具 举报

2

主题

84

帖子

83

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-5 17:28:31 | 显示全部楼层
奇怪的是,我以前从未注意到这条消息,但经过一些测试后,我似乎每次点击屏幕以响应提示时都会收到一条消息。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 17:30:55 | 显示全部楼层
据我所知,无法避免(Lisp表达式)输出。
 
这些语句由内置的AutoCAD撤消机制生成,这是LISP API无法实现的。在撤消过程中是否显示语句将取决于正在撤消的操作-由AutoLISP程序调用的撤消命令调用通常会产生此输出,因此如果要避免这些消息,可能需要重写程序以执行所需的操作,而不调用标准AutoCAD命令。
回复

使用道具 举报

49

主题

177

帖子

130

银币

后起之秀

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

铜币
243
发表于 2022-7-5 17:37:18 | 显示全部楼层
李,谢谢你的评论。它帮助我理解了为什么我会得到这个输出。起初我认为这(Lisp表达式)只是典型的Lisp行为。我从代码中删除了所有“命令”调用,现在我只收到一次可以接受的消息。毕竟,用户知道他正在运行lisp例程。
 
有趣的是,当我从例程中删除所有“命令”调用并在执行后撤消一个步骤时,我得到了“(Lisp表达式)组”。当我刚离开
 
  1. (command "_.undo" "_BE")

在一开始和
 
  1. (command "_.undo" "_E")

最后,没有其他对“command”的调用,我只得到了对我更有利的“Group”。奇怪的是,我似乎终究不会完全摆脱“命令”。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 15:43 , Processed in 1.395345 second(s), 61 queries .

© 2020-2025 乐筑天下

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