我已经看了这个lisp文件一段时间了,但对它的理解还不够透彻,无法对其进行更改。我希望它在反应器定义的函数中时在CURSORSIZE 100和CURSORTYPE 0之间切换。然后在完成后返回游标类型1。
;;;Tip# 3936 By Mathew Kirkland from Cadalyst.com(vl-load-com);;;--------------------------------------------------------------------;;;; List of commands to react to:;;; Note - This string will be used in a wcmatch statement.(setq *CursorSize_Commands*"COPY,ERASE,GRIP_STRETCH,PLOT,MLEADER,MEASUREGEOM,MOVE,SCALE,STRETCH");;;--------------------------------------------------------------------;;;; Start reactor function:(defun c:CursorSizeOn () (CursorSize:StartReactor));;;--------------------------------------------------------------------;;;; Stop reactor function:(defun c:CursorSizeOff () (vlr-remove *CursorSize_CommandReactor*) (terpri) (prompt "\n** CursorSize reactor has been stopped ** ") (princ));;;--------------------------------------------------------------------;;;; Start reactor function:(defun CursorSize:StartReactor () ;; Command reactors (or *CursorSize_CommandReactor* (setq *CursorSize_CommandReactor* (vlr-command-reactor nil '((:vlr-commandCancelled . CursorSize:CommandEnded) (:vlr-commandEnded . CursorSize:CommandEnded) (:vlr-commandFailed . CursorSize:CommandEnded) (:vlr-commandWillStart .CursorSize:CommandWillStart))))) ;; <- Other reactors (prompt "\n \n >> CursorSize reactor loaded ") (princ));;;--------------------------------------------------------------------;;;; CursorSize:CommandWillStart callback function:(defun CursorSize:CommandWillStart (rea cmd / cmdName) (cond ((and (/= "" *CursorSize_Commands*) (wcmatch (setq cmdName (car cmd)) *CursorSize_Commands*)) (setq *CursorSize* (getvar 'cursorsize)) (setvar 'cursorsize 100)) ;; <- Other conditions ) );;;--------------------------------------------------------------------;;;; CursorSize:CommandEnded callback function:(defun CursorSize:CommandEnded (rea cmd / cmdName) (cond ((and (/= "" *CursorSize_Commands*) (wcmatch (setq cmdName (car cmd)) *CursorSize_Commands*)) (setvar 'cursorsize *CursorSize*) (setq *CursorSize* nil)) ;; <- Other conditions ) );;;--------------------------------------------------------------------;(c:CursorSizeOn)(princ)