RestoreLayerState メソッドは、画層状態の画層設定をリセットします。4 つの値が必要です。最初の値は復元する画層状態の名前で、2 番目の値は、画層設定を復元するビューポートのオブジェクト ID です。3 番目の値は、画層状態に含まれない画層を処理する方法を定義する整数です。4 番目の値は、復元する画層設定を指定します。
次の値は、画層状態に含まれない画層を処理する方法を指定します。
たとえば、画層の色と線種の設定を "ColorLinetype" という名前で保存した後、その設定を変更した場合、"ColorLinetype" を復元すると、画層の色と線種の設定は "ColorLinetype" を保存したときの値に復元されます。"ColorLinetype" を保存した後に新しい画層を追加した場合、新しい画層は "ColorLinetype" を復元しても影響を受けません。
現在の図面の画層の色と線種の設定が、"ColorLinetype" という名前で以前に保存されていたとします。次の例では、図面の画層の色と線種の設定を、"ColorLinetype" を保存したときの値に復元します。
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);
}
}