经过更多的尝试和错误,我得到了它的功能,我想除了我需要一些帮助与错误处理部分。我知道我又把它分开了,但如果它都在一个Lisp程序的地方,我就无法让它工作。它在运行时不会闪烁,也不会缩放。
在错误处理方面,如果它将lwdisplay重置为off,我无法使其工作,并且我还需要它将所有线宽设置回默认值。有人愿意给我一些指导吗?
什么是“uu”在延迟命令之前?
谢谢
肖恩
- ;;;;;;;;;;;;;;;;;;;;;;
- ;THIS MACRO MUST BE KEPT SEPARATE FROM LWTFLASHOFF OR IT WILL NOT RUN AND WILL NOT ALLOW ZOOMING AND PANNING WHILE FLASHING.
- ;;;;;;;;;;;;;;;;;;;;;;
- (defun C:LWTFLASHON (/ *error* lwd)
- (defun *error* (msg)
- ; (and lwd (setvar 'lwdisplay lwd))
- (if (and msg (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,")))
- (princ (strcat "\nError: " msg))
- )
- )
- (setq lwd (getvar 'lwdisplay))
- ; (while t
- ; (setvar 'lwdisplay (abs (1- (getvar 'lwdisplay))))
- ; (command "_.delay" 2000)
- (command "LWDISPLAY" "ON" "DELAY" "200")
- (*error* nil)
- (princ)
- )
- ;;;;;;;;;;;;;;;;;;;;;;
- ;End Flash On
- ;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;
- ;Flash OFF
- ;;;;;;;;;;;;;;;;;;;;;;
- ;THIS MACRO MUST BE KEPT SEPARATE FROM LWTFLASHOFF OR IT WILL NOT RUN AND WILL NOT ALLOW ZOOMING AND PANNING WHILE FLASHING.
- ;;;;;;;;;;;;;;;;;;;;;;
- (defun C:LWTFLASHOFF (/ *error* lwd)
- (defun *error* (msg)
- ; (and lwd (setvar 'lwdisplay lwd))
- (if (and msg (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,")))
- (princ (strcat "\nError: " msg))
- )
- )
- (setq lwd (getvar 'lwdisplay))
- ; (while t
- ; (setvar 'lwdisplay (abs (1- (getvar 'lwdisplay))))
- ; (command "_.delay" 2000)
- (command "LWDISPLAY" "OFF" "DELAY" "200")
- (*error* nil)
- (princ)
- )
- ;;;;;;;;;;;;;;;;;;;;;;
- ;End Flash OFF
- ;;;;;;;;;;;;;;;;;;;;;;
|