ISOPenWidth Пример

Sub Example_ISOPenWidth()
    'Этот пример создает ассоциативную штриховку в пространстве модели.
    'ISOPenWidth образца штриховки затем возвращен и изменен.
    
    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

    'Определите штриховку
    patternName = "ANSI31": PatternType = 0: bAssociativity = True
    
    'Создайте ассоциативный объект Hatch
    Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity)
   
    'Создайте внешний контур для штриховки.
    'Дуга и линия используются, чтобы создать замкнутый контур.
    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)
        
    'Приложите внешний контур к объекту штриховки
    hatchObj.AppendOuterLoop (outerLoop)
    
    'Приложите первый круг как один внутренний контур
    center(0) = 5: center(1) = 4.5: center(2) = 0
    radius = 1
    
    Set innerLoop1(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
    hatchObj.AppendInnerLoop (innerLoop1)
    
    'Приложите второй круг как другой внутренний контур
    radius = 0.5
    Set innerLoop2(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
    hatchObj.AppendInnerLoop (innerLoop2)
    
    'Оцените и покажите штриховку
    hatchObj.Evaluate
    ThisDrawing.Regen True
    
    'Найдите ширину пера ISO образца штриховки
    MsgBox "Ширина пера ISO образца штриховки: " & hatchObj.ISOPenWidth, vbInformation

    'Измените ширину пера ISO образца штриховки
    hatchObj.ISOPenWidth = acPenWidth050
    hatchObj.Evaluate
    ThisDrawing.Regen True
    
    'Покажите новую перьевую ширину для этой штриховки
    If hatchObj.ISOPenWidth = acPenWidthUnk Then
        'Нестандартные перьевые размеры
        MsgBox "Ширина пера ISO образца штриховки - теперь: " & hatchObj.PatternScale, vbInformation
    Else
        'Стандартные перьевые размеры
        MsgBox "Ширина пера ISO образца штриховки - теперь: " & hatchObj.ISOPenWidth, vbInformation
    End If

End Sub
Сайт управляется системой uCoz