ISOPenWidth Example |
Using Programming Languages other than VBA
Sub Example_ISOPenWidth() ' This example creates an associative hatch in model space. ' The ISOPenWidth of the hatch pattern is then returned and changed. Dim hatchObj As AcadHatch Dim patternName As String, PatternType As Long Dim bAssociativity As Boolean Dim outerLoop(0 To 1) As Object Dim center(0 To 2) As Double Dim radius As Double, startAngle As Double, endAngle As Double Dim innerLoop1(0) As Object, innerLoop2(0) As Object Dim PatternScale As Double ' 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. 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 the first circle as one inner loop 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 radius = 0.5 Set innerLoop2(0) = ThisDrawing.ModelSpace.AddCircle(center, radius) hatchObj.AppendInnerLoop (innerLoop2) ' Evaluate and display the hatch hatchObj.Evaluate ThisDrawing.Regen True ' Find the ISO pen width of the hatch pattern MsgBox "The ISO pen width of the hatch pattern is: " & hatchObj.ISOPenWidth, vbInformation ' Change the ISO pen width of the hatch pattern hatchObj.ISOPenWidth = acPenWidth050 hatchObj.Evaluate ThisDrawing.Regen True ' Display new pen width for this hatch If hatchObj.ISOPenWidth = acPenWidthUnk Then ' Non-Standard pen widths MsgBox "The ISO pen width of the hatch pattern is now: " & hatchObj.PatternScale, vbInformation Else ' Standard pen widths MsgBox "The ISO pen width of the hatch pattern is now: " & hatchObj.ISOPenWidth, vbInformation End If End Sub
Comments? |