CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

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

2023-1-5 01:02| 发布者: admin| 查看: 585| 评论: 0|来自: AutoCAD

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

若要创建 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-5-12 16:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部