创建环形阵列

AutoCAD ActiveX/VBA

 
创建环形阵列
 
 
 

用户可以阵列所有图形对象。要创建环形阵列,请使用该对象的 ArrayPolar 方法。这个方法需要三个输入值:要创建的对象数目、填充角度和阵列的中心点。对象的数目必须是大于 1 的正整数。填充角度必须是弧度。正值指定逆时针旋转,负值指定顺时针旋转。如果角度等于 0 则返回错误。中心点是包含三个双精度数的变量阵列。这些双精度数用于指定环形阵列中心点的三维 WCS 坐标。

AutoCAD 确定从阵列中心点到原始对象上的参照点之间的距离。使用的参考点由对象类型决定。AutoCAD 使用圆或圆弧的圆心、块或形的插入点、文字的起点以及直线或宽线的一个端点作为参照点。

此方法不支持 AutoCAD ARRAY 命令的“复制时旋转”选项。

创建环形阵列

本例创建一个圆,然后对圆执行环形阵列操作。这个过程将围绕基点 (4,4,0),在 180 度内创建四个圆。

Sub Ch4_ArrayingACircle()
    ' 创建圆
    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 = 1
    Set circleObj = ThisDrawing.ModelSpace. _
                    AddCircle(center, radius)
    ZoomAll
      
    ' 定义环形阵列
    Dim noOfObjects As Integer
    Dim angleToFill As Double
    Dim basePnt(0 To 2) As Double
    noOfObjects = 4
    angleToFill = 3.14 ' 180 度
    basePnt(0) = 4#: basePnt(1) = 4#: basePnt(2) = 0#
      
    ' 下例通过绕点 (3,3,0) 旋转和
    ' 复制对象而创建四个
    ' 对象副本。
    Dim retObj As Variant
    retObj = circleObj.ArrayPolar _
             (noOfObjects, angleToFill, basePnt)
      
    ZoomAll
End Sub