;; | ---------------------------------------------------------------------------- ;; | LA_SaveLayerState ;; | ---------------------------------------------------------------------------- ;; | Function : Saves the current drawing layer settings under the specified name ;; | Arguments: ;; | 'Name' - Name of the layer state to save ;; | 'mask' - Specifies which properties to save ;; | acLsAll All layer settings ;; | acLsColor Color ;; | acLsFrozen Frozen or thawed ;; | acLsLineType Linetype ;; | acLsLineWeight Lineweight ;; | acLsLocked Locked or unlocked ;; | acLsNewViewport New viewport layers frozen or thawed ;; | acLsNone None ;; | acLsOn On or off ;; | acLsPlot Plotting on or off ;; | acLsPlotStyle Plot style ;; | ;; | Action : Saves the current drawing layer settings under a specified name ;; | Updated : September 7, 2004 ;; | e-mail : rakesh.rao@4d-technologies.com ;; | Web : www.4d-technologies.com ;; | ---------------------------------------------------------------------------- (defun LA_SaveLayerState ( Name mask / State ) (cond ((= #AcadVer 2002) (setq State (vla-getinterfaceobject (AX_GetAcadAppObject) "AutoCAD.AcadLayerStateManager.15")) ) ((member #AcadVer (list 2004 2005 2006)) (setq State (vla-getinterfaceobject (AX_GetAcadAppObject) "AutoCAD.AcadLayerStateManager.16")) ) ((member #AcadVer (list 2007 2008 2009)) (setq State (vla-getinterfaceobject (AX_GetAcadAppObject) "AutoCAD.AcadLayerStateManager.17")) ) ) (vla-setdatabase State (vla-get-database (AX_GetActiveDocument))) (LA_DeleteLayerState Name) (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-save (list State Name mask) ) ) nil T ) (vlax-release-object State) (setq State nil) )