AutoLISP源码:程序模板
2022-02-24
AutoLISP
(defun c:start1 (/ el ee ed)
(setq old_cmdecho (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(setq old_osmode (getvar "OSMODE"))
(setvar "OSMODE" 0)
(setq old_error *error*
*error* bati_lisp_error
)
(setq old_layer (getvar "CLAYER"))
(command "._UNDO" "_Begin")
(command "._UNDO" "_End")
(setvar "CLAYER" old_layer)
(setvar "OSMODE" old_osmode)
(setvar "CMDECHO" old_cmdecho)
(setq *error* old_error)
(princ)
)
(defun bati_lisp_error (s)
(command-s "._UNDO" "_End")
(if s
(progn
(if old_error
(setq *error* old_error)
)
(if old_layer
(setvar "CLAYER" old_layer)
)
(if old_osmode
(setvar "OSMODE" old_osmode)
)
(if old_cmdecho
(setvar "CMDECHO" old_cmdecho)
)
)
)
(princ)
)