AutoLISP源码:程序模板

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)
)

CAD之家