概要 - 画層の表示/非表示を切り替える(VBA/ActiveX)

非表示の画層の図形を再作図することはできますが、表示したり印刷することはできません。

画層を非表示にしておけば、画層をフリーズ解除するごとに図面を再作図しなくて済みます。非表示の画層を表示に切り替えると、その画層上のオブジェクトが再描画されます。

画層の表示/非表示を切り替えるには、LayerOn プロパティを使用します。このプロパティに TRUE 値を入力すれば、画層は表示に切り替わります。FALSE を入力すれば、画層は非表示になります。

画層を非表示にする

次の例は、新しい画層を作成して円を追加し、次に、円が表示されないように画層を非表示に切り替えます。

Sub Ch4_LayerInvisible()
  ' Create a circle
  Dim circleObj As AcadCircle
  Dim center(0 To 2) As Double
  Dim radius As Double
  center(0) = 2: center(1) = 2: center(2) = 0
  radius = 1
  Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius)

  ' Create a new layer called "ABC"
  Dim layerObj As AcadLayer
  Set layerObj = ThisDrawing.Layers.Add("ABC")

  ' Assign the circle to the "ABC" layer
  circleObj.Layer = "ABC"
  circleObj.Update

  ' Turn off layer "ABC"
  layerObj.LayerOn = False
  ThisDrawing.Regen acActiveViewport
End Sub