PDA

View Full Version : RESTORE LAYER STATES


mwilson
2005-02-03, 11:02 PM
HELLO

I HAVE SAVED NUMEROUS LAYER STATES IN EXPRESS
LAYER MANAGER, AND WOULD LIKE TO RESTORE THEM
BY TYPING IN THE NAME AT KEYBOARD SUCH AS TEST.

THIS IS WHAT I HAVE SO FAR, BUT IT WILL NOT WORK
ANY COMMENTS WOULD BE APPRECIATED.


(defun c:test ()
(command "-lman" "" "restore" "" "test" "" "")
)


THANKS
MIKE

scwegner
2005-02-03, 11:17 PM
You're trying to call a LISP within a LISP so you need to use (c:-lman)

peter
2005-02-04, 02:00 PM
Here is a function that will restore a layer state.

Peter Jamtgaard


(defun LSTATE (STATNAM / STATEOBJ)
(vl-load-com)
(if (= (getvar "acadver") "16.0")
(setq STATEOBJ (vla-getinterfaceobject (vlax-get-acad-object)
"autocad.acadlayerstatemanager.16"
)
)
(setq STATEOBJ (vla-getinterfaceobject (vlax-get-acad-object)
"autocad.acadlayerstatemanager"
)
)
)
(vla-SetDataBase STATEOBJ
(vla-get-database
(setq CDWGOBJ (vla-get-ActiveDocument
(vlax-get-acad-object))))
)
(if (vl-catch-all-error-p
(vl-catch-all-apply
'(lambda (X)(vla-restore STATEOBJ X))
(list STATNAM)
)
)
(princ "\nLayer state doesn't exist! :")
(vla-regen CDWGOBJ)
)
(princ)
)

mwilson
2005-02-04, 04:10 PM
THANKS FOR THE REPLY

I TRIED THIS AND IT DID NOT WORK
WHAT IS THE ACADVER 16? WE ARE RUNNING ON 2004, WOULD THIS MAKE A DIFFERENCE?

THANKS MIKE