RestoreLayerState メソッドは、画層状態の画層設定をリセットします。4 つの値が必要です。最初の値は復元する画層状態の名前で、2 番目の値は、画層設定を復元するビューポートのオブジェクト ID です。3 番目の値は、画層状態に含まれない画層を処理する方法を定義する整数です。4 番目の値は、復元する画層設定を指定します。
次の値は、画層状態に含まれない画層を処理する方法を指定します。
たとえば、画層の色と線種の設定を "ColorLinetype" という名前で保存した後、その設定を変更した場合、"ColorLinetype" を復元すると、画層の色と線種の設定は "ColorLinetype" を保存したときの値に復元されます。"ColorLinetype" を保存した後に新しい画層を追加した場合、新しい画層は "ColorLinetype" を復元しても影響を受けません。
現在の図面の画層の色と線種の設定が、"ColorLinetype" という名前で以前に保存されていたとします。次のコードは、図面の画層の色と線種の設定を、"ColorLinetype" を保存したときの値に復元します。
Imports Autodesk.AutoCAD.Runtime Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.DatabaseServices <CommandMethod("RestoreLayerState")> _ Public Sub RestoreLayerState() '' Get the current document Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument Dim acLyrStMan As LayerStateManager acLyrStMan = acDoc.Database.LayerStateManager Dim sLyrStName As String = "ColorLinetype" If acLyrStMan.HasLayerState(sLyrStName) = True Then acLyrStMan.RestoreLayerState(sLyrStName, _ ObjectId.Null, _ 1, _ LayerStateMasks.Color + _ LayerStateMasks.LineType) End If End Sub
using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; [CommandMethod("RestoreLayerState")] public static void RestoreLayerState() { // Get the current document Document acDoc = Application.DocumentManager.MdiActiveDocument; LayerStateManager acLyrStMan; acLyrStMan = acDoc.Database.LayerStateManager; string sLyrStName = "ColorLinetype"; if (acLyrStMan.HasLayerState(sLyrStName) == true) { acLyrStMan.RestoreLayerState(sLyrStName, ObjectId.Null, 1, LayerStateMasks.Color | LayerStateMasks.LineType); } }
Sub RestoreLayerState() Dim oLSM As AcadLayerStateManager Set oLSM = ThisDrawing.Application. _ GetInterfaceObject("AutoCAD.AcadLayerStateManager.20") oLSM.SetDatabase ThisDrawing.Database oLSM.Restore "ColorLinetype" End Sub