La información matricial se transfiere de vuelta desde ActiveX Automation de AutoCAD como variante. Si conoce el tipo de datos de la matriz, puede acceder a la variante como a una matriz. Si no conoce el tipo de datos que contiene la variante, utilice las funciones VarType o Typename de VBA. Estas funciones devuelven el tipo de datos del variante. Si necesita iterar en la matriz, puede utilizar la declaración de VBA For Each.
Cálculo de la distancia entre dos puntos
El código siguiente muestra el método de cálculo de la distancia entre dos puntos especificados por el usuario. En este ejemplo, el tipo de datos se conoce porque todas las coordenadas son dobles. Las coordenadas 3D consisten en una matriz de tres elementos de números dobles, y las coordenadas 2D en una matriz de dos elementos de números dobles.
Sub Ch2_CalculateDistance()
Dim point1 As Variant
Dim point2 As Variant
' Get the points from the user
point1 = ThisDrawing.Utility.GetPoint _
(, vbCrLf & "First point: ")
point2 = ThisDrawing.Utility.GetPoint _
(point1, vbCrLf & "Second point: ")
' Calculate the distance between point1 and point2
Dim x As Double, y As Double, z As Double
Dim dist As Double
x = point1(0) - point2(0)
y = point1(1) - point2(1)
z = point1(2) - point2(2)
dist = Sqr((Sqr((x ^ 2) + (y ^ 2)) ^ 2) + (z ^ 2))
'Display the resulting distance
MsgBox "The distance between the points is: " _
& dist, , "Calculate Distance"
End Sub