创建矩形阵列

AutoCAD ActiveX/VBA

 
创建矩形阵列
 
 
 

要创建二维或三维矩形阵列,请使用该对象的 ArrayRectangular 方法。这个方法需要输入四个值:行数、列数、行间距和列间距。在创建三维数组时,还需要指定层数以及层间距。

矩形阵列是通过将选择集中的对象复制适当的次数来构造的。如果行数为 1,则列数必须大于 1,反之亦然。

假设原始对象位于左下角,向右上生成阵列。如果行间距是负数,则会向下添加行。如果列间距是负数,则会向左添加列。

AutoCAD 沿当前捕捉旋转角度定义的基线生成矩形阵列。当前捕捉旋转角的默认值是 0,所以矩形阵列的行和列分别与 XY 图形轴正交。通过将捕捉旋转角设置为非零值,用户可以更改该角度并创建旋转的阵列。要完成此任务,请使用 SnapRotationAngle 特性。

创建矩形阵列

本例创建一个圆,然后对该圆执行矩形阵列操作,创建 5 行 5 列的圆。

Sub Ch4_ArrayRectangularExample()
    ' 创建圆
    Dim circleObj As AcadCircle
    Dim center(0 To 2) As Double
    Dim radius As Double
    center(0) = 2#: center(1) = 2#: center(2) = 0#
    radius = 0.5
    Set circleObj = ThisDrawing.ModelSpace. _
                           AddCircle(center, radius)
    ZoomAll
      
    ' 定义矩形阵列
    Dim numberOfRows As Long
    Dim numberOfColumns As Long
    Dim numberOfLevels As Long
    Dim distanceBwtnRows As Double
    Dim distanceBwtnColumns As Double
    Dim distanceBwtnLevels As Double
    numberOfRows = 5
    numberOfColumns = 5
    numberOfLevels = 2
    distanceBwtnRows = 1
    distanceBwtnColumns = 1
    distanceBwtnLevels = 1
      
    ' 创建对象的阵列
    Dim retObj As Variant
    retObj = circleObj.ArrayRectangular _
        (numberOfRows, numberOfColumns, numberOfLevels, _
        distanceBwtnRows, distanceBwtnColumns, distanceBwtnLevels)
      
    ZoomAll
End Sub