概要 - ハッチング パターンを編集する(VBA/ActiveX)

既存のハッチング パターンの角度や間隔は変更できます。また、塗り潰しや AutoCAD が提供する定義済みパターンの 1 つに置き換えることもできます。

[境界ハッチング]ダイアログ ボックスの[パターン]オプションには、これらのパターンのリストが表示されます。ファイル サイズを小さくするために、図面中でハッチングは 1 つのグラフィックス オブジェクトとして定義されます。

ハッチング パターンを変更するには、次のプロパティとメソッドを使用します。

PatternAngle
ハッチング パターンの角度を指定します。
PatternDouble
ユーザ定義ハッチングがダブル ハッチングかどうかを指定します。
PatternName
ハッチング パターン名を指定します(パターン タイプは変更しません)。
PatternScale
ハッチング パターンの尺度を指定します。
PatternSpace
ユーザ定義ハッチング パターンの間隔を指定します。
SetPattern
ハッチング パターン名とパターン タイプを設定します。

ハッチングのパターン間隔を変更する

次の例は、ハッチングを作成します。次に、ハッチングの現在のパターン間隔に 2 を追加します。

Sub Ch4_ChangeHatchPatternSpace()
  Dim hatchObj As AcadHatch
  Dim patternName As String
  Dim PatternType As Long
  Dim bAssociativity As Boolean

  ' Define the hatch
  patternName = "ANSI31"
  PatternType = 0
  bAssociativity = True

  ' Create the associative Hatch object
  Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity)

  ' Create the outer loop for the hatch.
  Dim outerLoop(0 To 0) As AcadEntity
  Dim center(0 To 2) As Double
  Dim radius As Double
  center(0) = 5
  center(1) = 3
  center(2) = 0
  radius = 3
  Set outerLoop(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
  hatchObj.AppendOuterLoop (outerLoop)
  hatchObj.Evaluate

  ' Change the spacing of the hatch pattern by
  ' adding 2 to the current spacing
  hatchObj.patternSpace = hatchObj.patternSpace + 2
  hatchObj.Evaluate
  ThisDrawing.Regen True
End Sub