Se pueden disponer en una matriz todos los objetos de dibujo. Para crear una matriz polar, utilice el método ArrayPolar del objeto. Este método requiere la entrada del número de objetos que se desean crear, los grados del ángulo y el punto central de la matriz. El número de objetos debe ser un entero positivo mayor que 1, y el ángulo a rellenar debe completarse en radianes. Un valor positivo precisa una rotación en sentido contrario a las agujas del reloj. Un valor negativo precisa una rotación en el sentido de las agujas del reloj. Un ángulo igual a 0 devuelve un error. El centro es una matriz de variantes que contiene tres dobles. Estos dobles representan las coordenadas 3D del SCU que indican el centro de la matriz polar
AutoCAD determina la distancia entre el centro de la matriz y un punto de referencia del objeto original. El punto de referencia utilizado depende del tipo de objeto. AutoCAD utiliza el centro de un círculo o arco, el punto de inserción de un bloque o forma, el punto inicial del texto y un punto final de una línea o trazo.
Este método no admite la opción Girar objetos a medida que se copian del comando MATRIZ de AutoCAD.
Este ejemplo crea un círculo y después crea una matriz polar del círculo. De esta forma se crean cuatro círculos que rellenan 180 grados alrededor de un punto base de (4, 4, 0).
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