Edit Hatch Boundaries

You can append or insert loops into the hatch boundaries. Associative hatches are updated to match any changes made to their boundaries. Non-associative hatches are not updated.

To edit a hatch boundary, use one of the following methods:


Appends an inner loop to the hatch.


Appends an outer loop to the hatch.


Inserts a loop at a given index of a hatch.

Append an inner loop to a hatch

This example creates an associative hatch. It then creates a circle and appends the circle as an inner loop to the hatch.

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
	ThisDrawing.Regen True
End Sub