ハッチング境界には、ループを追加または挿入できます。境界に対する変更に合うように、自動調整ハッチングは更新されます。非自動調整ハッチングは更新されません。
ハッチング境界を編集するには、次のメソッドを使用します。
次の例は、自動調整ハッチングを作成します。次に円を作成し、その円を内部ループとしてハッチングに追加します。
Sub Ch4_AppendInnerLoopToHatch() Dim hatchObj As AcadHatch Dim patternName As String Dim PatternType As Long Dim bAssociativity As Boolean ' Define and create the hatch patternName = "ANSI31" PatternType = 0 bAssociativity = True Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity) ' Create the outer loop for the hatch. Dim outerLoop(0 To 1) As AcadEntity Dim center(0 To 2) As Double Dim radius As Double Dim startAngle As Double Dim endAngle As Double center(0) = 5: center(1) = 3: center(2) = 0 radius = 3 startAngle = 0 endAngle = 3.141592 Set outerLoop(0) = ThisDrawing.ModelSpace.AddArc(center, radius, startAngle, endAngle) Set outerLoop(1) = ThisDrawing.ModelSpace.AddLine(outerLoop(0).startPoint, outerLoop(0).endPoint) ' Append the outer loop to the hatch object hatchObj.AppendOuterLoop (outerLoop) ' Create a circle as the inner loop for the hatch. Dim innerLoop(0) As AcadEntity center(0) = 5: center(1) = 4.5: center(2) = 0 radius = 1 Set innerLoop(0) = ThisDrawing.ModelSpace.AddCircle(center, radius) ' Append the circle as an inner loop to the hatch hatchObj.AppendInnerLoop (innerLoop) ' Evaluate and display the hatch hatchObj.Evaluate ThisDrawing.Regen True End Sub