AppendInnerLoop Example

Using Programming Languages other than VBA

Sub Example_AppendInnerLoop()
	' This example creates an associative hatch in model space, and then appends an outer loop to the hatch.

	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.
	' An arc and a line are used to create a closed loop.

	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)

	' Append 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)
	hatchObj.AppendInnerLoop (innerLoop)

	' Evaluate and display the hatch
	hatchObj.Evaluate
	ThisDrawing.Regen True

End Sub

 

   Comments?