关于创建极坐标阵列 (VBA/ActiveX)
您可以排列所有图形对象以填充圆形图案。 要创建极坐标阵列,请使用为该对象提供的方法。此方法要求您提供要创建的对象数、要填充的角度和数组的中心点。对象数必须是大于 1 的正整数。填充角度必须以弧度为单位。正值指定逆时针旋转。负值指定顺时针旋转。对于等于 0 的角度,将返回错误。中心点是包含三个双精度的变体数组。这些替身表示指定极坐标阵列中心点的 3D WCS 坐标。ArrayPolar AutoCAD 确定从阵列中心点到原始对象上的参考点的距离。使用的参考点取决于对象的类型。AutoCAD 使用圆或圆弧的中心点、块或形状的插入点、文本的起始点以及直线或迹线的一个端点。 此方法不支持 AutoCAD ARRAY 命令的“复制时旋转”选项。 创建极坐标阵列此示例创建一个圆,然后执行该圆的极坐标数组。这将创建四个圆,围绕基点 (4, 4, 0) 填充 180 度。 Sub Ch4_ArrayingACircle() ' 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 = 1 Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius) ZoomAll ' Define the polar array Dim noOfObjects As Integer Dim angleToFill As Double Dim basePnt(0 To 2) As Double noOfObjects = 4 angleToFill = 3.14 ' 180 degrees basePnt(0) = 4#: basePnt(1) = 4#: basePnt(2) = 0# ' The following example will create 4 copies ' of an object by rotating and copying it about ' the point (3,3,0). Dim retObj As Variant retObj = circleObj.ArrayPolar(noOfObjects, angleToFill, basePnt) ZoomAll End Sub 父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 12:53
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.