プログラムを記述する場合、他のプログラムにも再利用できる小さい論理サブルーチンを記述すると便利です。Gardenpath マクロは、一連のプライマリおよびセカンダリ(ユーティリティ)関数およびサブルーチンを使用して定義されます。
図面の追加される多くのオブジェクトでは、角度の値を入力または操作する必要があります。図面内の角度は最終的にラジアン単位で保存され、AutoCAD COM ライブラリのメソッドもラジアン単位の角度の値が必要です。しかし、ほとんどのユーザはラジアン単位ではなく度単位で考えるため、度単位で指定するようユーザに求め、その後、コードでラジアンに変換処理することが重要です。
度をラジアンに変換するには、次の式を使用します。
(decimal_angle / 180) * π
次の手順では、十進数の度単位の角度の値を受け入れ、ラジアン単位の値を返す dtr という名前の関数を定義します。
' Declare a constant double variable Const pi = 3.14159 ' Converts an angular measurement in degrees to radians ' Usage: val = dtr(90) Function dtr(a As Double) As Double dtr = (a / 180) * pi End Function
次の手順では、2 つの 3D 点を受け入れ、その 2 つの 3D 点間の距離を計算して倍精度浮動小数点値を返す distance という名前の関数を定義します。返された値は、指定された軸に沿って中点を決定する際に役立ちます。
' Calculate distance between two points ' Usage: val = distance(point1, point2) 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