解释变量数组

AutoCAD ActiveX/VBA

 
解释变量数组
 
 
 

从 AutoCAD ActiveX Automation 传回的数组信息是以变量传回的。如果知道数组的数据类型,可以使用数组方式访问变量。如果不知道变量中包含的数据类型,请使用 VBA 函数 VarTypeTypename。这些函数返回变量中数据的类型。如果需要遍历数组,可以使用 VBA 的 For Each 语句。

计算两点之间的距离

以下代码示范如何计算用户输入的两点之间的距离。在本例中,数据类型是已知的,因为所有的坐标值均为双精度数。三维坐标值是一个包含三个元素的双精度数组,而二维坐标值是一个包含两个元素的双精度数组。

Sub Ch2_CalculateDistance()
    Dim point1 As Variant
    Dim point2 As Variant
      
    ' 获取用户输入的点
    point1 = ThisDrawing.Utility.GetPoint _
                (, vbCrLf & "First point: ")
    point2 = ThisDrawing.Utility.GetPoint _
                (point1, vbCrLf & "Second point: ")
      
    ' 计算 point1 和 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))
      
    ' 显示计算出来的距离
    MsgBox "The distance between the points is: " _
                  & dist, , "Calculate Distance"
End Sub