唐#039;我甚至不知道
由于文件大小,我遇到了问题。我不得不关闭自动保存,因为如果它在我尝试执行另一个功能的同时尝试保存,我的系统将锁定并进入致命错误,我失去了上次手动快速保存所做的一切。在我做任何会导致致命错误的事情(主要是添加外部参照和尝试动态观察我的模型)之前,我尽量记住要这样做,但我发现我没有像我希望的那样多。我要问的是,如果先调用动态观察或和外部参照命令,是否可以使用lisp进行保存。
我希望这是可能的,但如果不是这样,我只需要在做这两件事之前更好地存钱。
谢谢
NH3人!
(defun C:so()
(command"save" "")
(command"orbit")
)
目前我能想到的唯一解决方案是创建类似于上述函数的函数。
我不知道你会如何取代crt+鼠标中键
奥利 我建议用反应堆作为解决方案
我不确定快速扑救是否有效,需要一点尝试和错误。
下面是一个示例,任何dim都可以转到dim层
(vl-load-com)
(vlr-command-reactor nil '
((:vlr-commandWillStart . startCommand)
(:vlr-commandEnded . endcancelCommand)
(:vlr-commandCancelled . endcancelCommand))
); end vlr-command-reactor
;******************************************************
(defun startCommand (calling-reactor startcommandInfo)
(if (= 1 (getvar "dimlfac"))
(setvar "dimclrt" 2)
(setvar "dimclrt" 3)
)
(if (wcmatch (car startcommandInfo) "DIM*")
(progn
(setq dimOldLayer (getvar "CLAYER"))
(setvar "CLAYER" "dim"))
); end if
(princ)
);defun
;****************************************************
(defun endcancelCommand (calling-reactor endcommandInfo)
(if(wcmatch (car endcommandInfo)"DIM*")
(progn
(if (= dimoldlayer "dim")
(setvar "CLAYER" "yellow")
(setvar "CLAYER" dimoldlayer)
)
(setvar "dimclrt" 2)
)
); end if
(princ)
);defun 我同意,一个反应堆将是一个很好的呼吁-希望系统不会冻结时,快速保存调用。
然而,它必须通过VL,因为命令调用不会与反应堆混合。
李 根据在设置中如何调用动态观察和外部参照,还可以使用undefine和命令的新(defun)-大卫 不确定这是否适合你?
(defun c:ReON ()
(vl-load-com)
(if (not *Save:React*)
(progn
(setq *Save:React*
(vlr-command-reactor nil
(list
(cons :vlr-CommandWillStart 'StrtComm))))
(princ "\n<< Reactor Initiated >>")))
(princ))
(defun StrtComm (React Args / *doc)
(if (vl-position
(strcase (car Args))
'("3DORBIT")); <<-- Populate Commands Here
(progn
(setq *doc
(vla-get-ActiveDocument
(vlax-get-acad-object)))
(if (not (eq "" (vla-get-FullName *doc)))
(vla-save *doc)
(vla-saveas *doc
(strcat
(vla-get-Path *doc) "\\"
(vla-get-name *doc))))))
(princ))
(defun c:ReOFF ()
(if *Save:React*
(progn
(vlr-remove *Save:React*)
(setq *Save:React* nil)
(princ "\n<< Reactor Deactivated >>")))
(princ))
李 我试过了,李,但我怎么知道它能救人。我没有在命令行中看到它。它是一个未显示的自动功能吗? 耶,反应堆在后台工作,没有用户的输入/输出。
检查文件,它会显示上次保存的时间
正如弗劳尔所说,由于我使用了VL save方法,您将看不到结果,因此它不会显示在命令行中。
李 李太棒了。你会救我的,我甚至不知道,直到我去重新开放,我所有的工作仍然存在。非常感谢。
页:
[1]
2