I have found some code that does work when I close out a drawing. Its basic. So when I close a drwing it will zoom extents and then pops up a window saying "Command Close was issed." (Press ok) then Save file and exits.
I would like to find the call / command to (uncheck the Display Plot Styles) in the page setup window.
Hopefully that is an easy change... But I do now know.
;;=======================================================================
;; CLOSE reactor
;;=======================================================================
(vl-load-com)
(defun smart-command-reactor (commands StartCallback EndCallback / ended)
(vl-load-reactors)
(setq ended
(vlr-command-reactor nil
'(
(:vlr-commandEnded . internal-commandEnded)
(:vlr-commandCancelled . internal-commandEnded)
(:vlr-commandFailed . internal-commandEnded)
)
)
)
(vlr-remove ended)
(vlr-command-reactor
(list
ended
StartCallback
EndCallback
(if (listp commands)
(mapcar 'strcase commands)
(list (strcase commands))
)
)
'((:vlr-commandWillStart . internal-commandWillStart))
)
)
;;=======================================================================
(defun internal-commandWillStart (reactor args / data result)
(setq data (vlr-data reactor))
(if
(and
(member (car args) (last data))
(setq result (apply (cadr data) (list (car args))))
)
(progn
(vlr-data-set
(car data)
(list (caddr data) result)
)
(vlr-add (car data))
)
)
)
;;=======================================================================
(defun internal-commandEnded (reactor args / data)
(setq data (vlr-data reactor))
(vlr-remove reactor)
(apply
(car data)
(list
reactor
(vlr-current-reaction-name)
(car args)
(cadr data)
)
)
)
;;=======================================================================
(if *my-smart-close-reactor* (vlr-remove *my-smart-close-reactor*))
;;=======================================================================
(setq *my-smart-close-reactor*
(smart-command-reactor
;; command(s) as list
'("CLOSE")
;; StartCallback (called when CLOSE starts)
(function
(lambda (cmdname)
;;;===================================================
;;; *** from here
;;;===================================================
(vla-ZoomExtents (vlax-get-acad-object))
(alert "Command CLOSE was issued.")
;;;===================================================
;;; *** to here
;;;===================================================
)
)
;; EndCallback (called when CLOSE ends)
(function
(lambda (data)
(setvars data)
(sssetfirst nil)
(setq app nil adoc nil)
)
)
)
)
;;=======================================================================
(defun setvars (data)
(mapcar
(function
(lambda (v / r)
(setq r (getvar (car v)))
(setvar (car v) (cdr v))
(cons (car v) r)
)
)
data
)
)
;;=======================================================================
(princ "\nCLOSE reactor enabled.")
;;=======================================================================
(princ)
;;=======================================================================