谢谢你的代码!我也必须把它添加到我的工具箱中。虽然你们花了2分钟才写出下面的代码,但这是我用来处理同样事情的反应堆代码,我只花了几个小时,哈哈:
- (vlr-command-reactor nil '((:vlr-commandWillStart . DoOnExit)))
- (defun DoOnExit ( Caller CmdSet )
- (if (member (car CmdSet) '("END" "EXIT" "QUIT"))
- (setenv "CSC:OnceADay" "YES")
- )
- )
我唯一不确定的是清理反应堆。我正在使用的其他反应堆包含在它们自己的lisp中,它们的名称就像任何lisp一样。然而,因为这是在我的阿卡多克。lsp我不得不从它的defun语句中去掉命令reactor,然后由于我没有给reactor分配变量,我不知道如何清除它(或者在这种情况下它是否重要)。我的意思是,通常你会这样清理反应堆:
- (defun clear_myExitReact ()
- (if (and (myExitReact (vlr-added-p myExitReact))
- (vlr-remove myExitReact)
- )
- )
我也试过vlr命令反应堆,但没能让它工作。由于我使用的是vlr命令willstart reactor,因此一旦调用该命令,注册表就会发生更改,因此如果用户取消AutoCAD退出,然后打开一个新图形,则会再次显示当天的提示。 |