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
vBulletin® v3.6.7, Copyright ©2000-2009, Jelsoft Enterprises Ltd.