Elevation Example |
Using Programming Languages other than VBA
Sub Example_Elevation() ' This example creates an associative hatch in model space. ' The elevation for that hatch is then changed. 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 arcObj As AcadArc Dim lineObj As AcadLine 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 arcObj = ThisDrawing.ModelSpace.AddArc(center, radius, startAngle, endAngle) Set lineObj = ThisDrawing.ModelSpace.AddLine(arcObj.startPoint, arcObj.endPoint) Set outerLoop(0) = arcObj Set outerLoop(1) = lineObj ' Append the outer loop to the hatch object hatchObj.AppendOuterLoop (outerLoop) ' Append the first circle as one inner loop Dim innerLoop1(0) As AcadEntity center(0) = 5: center(1) = 4.5: center(2) = 0 radius = 1 Set innerLoop1(0) = ThisDrawing.ModelSpace.AddCircle(center, radius) hatchObj.AppendInnerLoop (innerLoop1) ' Append the second circle as the other inner loop Dim innerLoop2(0) As AcadEntity radius = 0.5 Set innerLoop2(0) = ThisDrawing.ModelSpace.AddCircle(center, radius) hatchObj.AppendInnerLoop (innerLoop2) ' Change the viewing direction of the viewport to better see the elevation Dim NewDirection(0 To 2) As Double NewDirection(0) = -1: NewDirection(1) = -1: NewDirection(2) = 1 ThisDrawing.ActiveViewport.direction = NewDirection ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport ZoomAll ' Find the current elevation for the hatch Dim currElevation As Double currElevation = hatchObj.Elevation MsgBox "The current elevation is " & hatchObj.Elevation, , "Elevation Example" ' Set the hatch elevation to 3 hatchObj.Elevation = 3# hatchObj.Evaluate ZoomAll MsgBox "The elevation is now " & hatchObj.Elevation, , "Elevation Example" End Sub
Comments? |