CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2025 开发者帮助

关于创建矩形数组 (VBA/ActiveX)

2024-5-18 19:19| 发布者: admin| 查看: 17| 评论: 0|原作者: admin|来自: AutoCAD

关于创建矩形数组 (VBA/ActiveX)

若要创建 2D 或 3D 矩形阵列,请使用为该对象提供的方法。ArrayRectangular

此方法要求您提供行数、列数、行与行之间的距离和列与列之间的距离。创建 3D 阵列时,还必须指定层数和层之间的距离。

矩形数组是通过将选择集中的对象复制适当的次数来构造的。如果定义一行,则必须指定多列,反之亦然。

假设原始对象位于左下角,并且数组在上下和右下生成。如果行之间的距离为负数,则向下添加行。如果列之间的距离为负数,则列将添加到左侧。



AutoCAD 沿由当前捕捉旋转角度定义的基线构建矩形阵列。默认情况下,此角度为 0,因此矩形数组的行和列相对于 XY 绘图轴是正交的。您可以通过将捕捉旋转角度设置为非零值来更改此角度并创建旋转数组。为此,请使用该属性。SnapRotationAngle

创建矩形数组

本示例创建一个圆,然后执行该圆的矩形数组,从而创建五行五列圆。

Sub Ch4_ArrayRectangularExample()
  ' Create the circle
  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

  ' Define the rectangular array
  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

  ' Create the array of objects
  Dim retObj As Variant
  retObj = circleObj.ArrayRectangular _
      (numberOfRows, numberOfColumns, numberOfLevels, _
      distanceBwtnRows, distanceBwtnColumns, distanceBwtnLevels)

  ZoomAll
End Sub

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-6-27 15:55

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部