编写第一个函数

AutoCAD ActiveX/VBA

 
编写第一个函数
 
 
 

开发 Gardenpath 宏时需要使用一系列函数和子例程。许多子例程都要求操作角度。因为 ActiveX 用弧度指定角度,而大多数用户习惯于用度来表示,所以首先需要创建一个将度转换为弧度的函数。

将度转换为弧度的步骤

  1. 在命令行中,输入 vbaide 并按 ENTER 键。
  2. 在 VBA IDE 的“视图”菜单中,单击“代码”,打开“代码”窗口。
  3. 在“代码”窗口中输入下列代码:
    Const pi = 3.14159
    ' 将角度从度转换为弧度
    Function dtr(a As Double) As Double
        dtr = (a / 180) * pi
    End Function

    请注意,在输入行 Function dtr(a As Double) As Double 并按 ENTER 键后,会立即自动添加 End Function。这将确保所有子例程和函数都有关联的 End 语句。

    现在看一下代码。首先,常量 pi 定义为值 3.14159。这使得每次需要使用该值时,可以使用单词 pi 而不必键入 3.14159。

    下一步,定义称为 dtr(度转换为弧度的缩写)的函数。dtr 函数接收一个用度表示的角度参数 a。将度表示的角度除以 180,所得的值乘以 pi 即可获得结果。以单引号开始的行是注释行;VBA 会忽略代码行中单引号后面的所有文字。

    现在该函数已可用于整个工程中的其他子例程。

  4. 保存所做的工作。依次单击“文件”“保存 Global1”。将工程命名为 gardenpath.dvb

下一步,添加计算两点之间距离的函数。

计算两点之间距离的步骤

  1. dtr 函数的后面输入下列代码:
    ' 计算两点之间距离
    Function distance(sp As Variant, ep As Variant) _
     As Double
        Dim x As Double
        Dim y As Double
        Dim z As Double
        x = sp(0) - ep(0)
        y = sp(1) - ep(1)
        z = sp(2) - ep(2)
        distance = Sqr((Sqr((x ^ 2) + (y ^ 2)) ^ 2) + (z ^ 2))
    End Function
  2. 保存所做的工作。