好主意,艾伦,这样的东西能解决问题吗?
- (vl-load-com)
- (if (null *navcube-reactor*)
- (setq *navcube-reactor*
- (vlr-command-reactor nil
- '(
- (:vlr-commandwillstart . navcube:disable)
- (:vlr-commandended . navcube:enable)
- (:vlr-commandcancelled . navcube:enable)
- (:vlr-commandfailed . navcube:enable)
- )
- )
- )
- )
-
- (defun navcube:disable ( reactor params )
- (if (wcmatch (strcase (car params)) "*PLOT,*PUBLISH")
- (progn
- (if (setq *navvcubedisplay* (getvar 'NAVVCUBEDISPLAY))
- (setvar 'NAVVCUBEDISPLAY 0)
- )
- (if (setq *navbardisplay* (getvar 'NAVBARDISPLAY))
- (setvar 'NAVBARDISPLAY 0)
- )
- )
- )
- (princ)
- )
-
- (defun navcube:enable ( reactor params )
- (if (and
- (or *navvcubedisplay* *navbardisplay*)
- (wcmatch (strcase (car params)) "*PLOT,*PUBLISH")
- )
- (progn
- (if *navvcubedisplay* (setvar 'NAVVCUBEDISPLAY *navvcubedisplay*))
- (if *navbardisplay* (setvar 'NAVBARDISPLAY *navbardisplay*))
- (setq *navvcubedisplay* nil
- *navbardisplay* nil
- )
- )
- )
- (princ)
- )
- (princ)
如果有人想改进它,这是一个快速的开始。 |