The Buzzard 发表于 2022-7-6 10:30:26

还有一件事要知道。
 
您确实不想点击Esc键来结束程序,因为这会故意导致错误。如果你的程序写得正确,并且错误缠身,你需要做的就是右键单击鼠标,或者在while循环写得正确的情况下按一个特定的键来结束程序。
 
只是一些值得思考的东西。

Lee Mac 发表于 2022-7-6 10:34:07

如果您无法访问第三方源代码,则很难控制循环,因为您无法控制输入参数,同样,您可能不知道程序的返回。
 
例如,如果程序成功返回非nil值(如果不成功则返回nil),则简单循环可以是:
 
如果情况并非如此,则几乎没有替代方案:
 
4
 
在这种情况下,您必须确保变量“ExitFlag”是本地化的。
我不愿意使用最后一个例子,因为它迫使用户点击Esc退出程序,这在我看来是一种糟糕的做法。
 

The Buzzard 发表于 2022-7-6 10:37:41

 
李说得好。
 
重要的是要理解这一点。
 
只是不确定OP的经历。
 
如果有人对自己不确定,我不愿意鼓励他们编辑第三方应用程序。他们留下了一个他们付费的程序,该程序将不再运行。最好向他们展示如何构建自己的应用程序。损失不多,收获不多。

fuccaro 发表于 2022-7-6 10:41:26

以*字符开头的按钮宏将使该命令重复,直到用户点击Esc。它与外部命令一起工作吗?

StevJ 发表于 2022-7-6 10:46:15

 
我已经尝试过了,但从未成功地将其用于外部命令。
 
史蒂夫

irneb 发表于 2022-7-6 10:48:36

可以使用vlax add cmd函数将c:CommandName defun转换为“true”autocad命令。然后,多个东西应该工作。E、 g.假设命令为Test,则:
无需修改原始代码,只需确保在加载第三方应用程序后加载上述内容即可。

Lee Mac 发表于 2022-7-6 10:52:45

 
好主意-如果您想透明地运行LISP命令,也很方便
页: 1 [2]
查看完整版本: 如何制作现有cad com