AutoCAD は、画層設定情報を図面の Layers コレクションの拡張ディクショナリに保存します。
最初に画層設定を図面に保存したとき、AutoCAD は次のことを行います。
図面の別の画層設定を保存するたびに、AutoCAD は保存された設定を記述する別の XRecord オブジェクトを作成し、その XRecord を ACAD_LAYERSTATE ディクショナリに追加します。次の図に処理を示します。
ActiveX を使用して画層設定しているときに、XRecord を読み出してはいけません。画層設定にアクセスするには、LayerStateManager オブジェクトの関数を使用します。
画層設定が現在の図面に保存されている場合、次のコードはすべての画層設定の名前を一覧表示します。
Sub Ch4_ListStates() On Error Resume Next Dim oLSMDict As AcadDictionary Dim XRec As Object Dim layerstateNames As String layerstateNames = "" ' Get the ACAD_LAYERSTATES dictionary, which is in the ' extension dictionary in the Layers object. Set oLSMDict = ThisDrawing.Layers.GetExtensionDictionary.Item("ACAD_LAYERSTATES") ' List the name of each saved layer setting. Settings are ' stored as XRecords in the dictionary. For Each XRec In oLSMDict layerstateNames = layerstateNames + XRec.Name + vbCrLf Next XRec MsgBox "The saved layer settings in this drawing are: " + vbCrLf + layerstateNames End Sub