编辑填充图案

AutoCAD ActiveX/VBA

 
编辑填充图案
 
 
 

用户可以修改现有填充图案的角度或间距,也可以将其替换为实体填充图案或 AutoCAD 提供的预定义图案。“边界图案填充”对话框中的“图案”选项显示了这些图案的列表。为了缩小文件的大小,图案填充在图形中被定义为单一的图形对象。

使用以下特性和方法来编辑填充图案:

PatternAngle

指定填充图案的角度。

PatternDouble

指定用户定义的图案填充是否双向填充。

PatternName

指定填充图案的名称(不改变图案类型)。

PatternScale

指定填充图案的比例。

PatternSpace

指定用户定义的填充图案间距。

SetPattern

设置图案填充的图案名称和图案类型。

更改图案填充的图案间距

本例创建一个图案填充,然后将该图案填充的当前图案间距增加 2。

Sub Ch4_ChangeHatchPatternSpace()
    Dim hatchObj As AcadHatch
    Dim patternName As String
    Dim PatternType As Long
    Dim bAssociativity As Boolean
      
    ' 定义图案填充
    patternName = "ANSI31"
    PatternType = 0
    bAssociativity = True
      
    ' 创建关联的 Hatch 对象
    Set hatchObj = ThisDrawing.ModelSpace. _
        AddHatch(PatternType, patternName, bAssociativity)
      
    ' 创建图案填充的外部环
    Dim outerLoop(0 To 0) As AcadEntity
    Dim center(0 To 2) As Double
    Dim radius As Double
    center(0) = 5
    center(1) = 3
    center(2) = 0
    radius = 3
    Set outerLoop(0) = ThisDrawing.ModelSpace. _
                                AddCircle(center, radius)
    hatchObj.AppendOuterLoop (outerLoop)
    hatchObj.Evaluate
      
    ' 向当前间距加 2,以更改填充图案
    ' 的间距
    hatchObj.patternSpace = hatchObj.patternSpace + 2
    hatchObj.Evaluate
    ThisDrawing.Regen True
End Sub