快速编写且未经测试:
- (defun c:plan2 (/ *error* ctr ht)
- (defun *error* (msg)
- (LM:endundo (LM:acdoc))
- (if (not
- (member msg '("Function cancelled" "quit / exit abort"))
- )
- (princ (strcat "\nError: " msg))
- )
- (princ)
- )
- (if (> (getvar 'cvport) 1)
- (progn
- (LM:startundo (LM:acdoc))
- (command "._ucs" "_w")
- (setq ctr (getvar 'viewctr)
- ht (getvar 'viewsize)
- )
- (command "._plan" "_W")
- (setvar 'snapang 0)
- (setvar 'angbase 0)
- (command "zoom" "c" ctr ht)
- (LM:endundo (LM:acdoc))
- )
- )
- (princ)
- )
- ;;;Created by Lee Mac
- (defun LM:startundo (doc)
- (LM:endundo doc)
- (vla-startundomark doc)
- )
- ;;;Created by Lee Mac
- (defun LM:endundo (doc)
- (while (= 8 (logand 8 (getvar 'undoctl)))
- (vla-endundomark doc)
- )
- )
- ;;;Created by Lee Mac
- (defun LM:acdoc nil
- (eval (list 'defun 'LM:acdoc 'nil (vla-get-activedocument (vlax-get-acad-object))))
- (LM:acdoc)
- )
|