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