プログラムを書くときに、他のプログラムでも使用できる小さな論理サブルーチンを書くと便利です。Gardenpath マクロは、一連の一次関数と二次(ユーティリティ)関数、そしてサブルーチンを使用して定義されます。
図面に追加するオブジェクトの多くでは、角度値の入力または操作が必要です。図面内の角度はラジアン単位で保存されるため、AutoCAD COM ライブラリ内のメソッドではラジアン単位の角度値が必要です。ただし、ほとんどのユーザはラジアン単位ではなく度単位で考えるため、ユーザには度数を求めるプロンプトを表示し、次にコード内でラジアンへの変換を処理することが重要です。
ここでは、Gardenpath 関数によって使用されるユーティリティ関数を格納するために使用される LSP ファイルを作成する方法を説明します。
[すべてのプログラム]
[アクセサリ]
[メモ帳]をクリックします。
[名前を付けて保存]を選択します。 LSP ファイルは閉じないでください。
[アプリケーション]を選択します。
[環境設定]を選択します。
[保存]を選択します。 LSP ファイルは閉じないでください。
次の計算式を使用して、度をラジアンに変換します。
(numberOfDegrees / 180) * π
次の手順では、十進法度数単位の角度計測値を受け入れ、ラジアン単位で返す Degrees->Radians という名前の関数を定義します。
; Converts an angular measurement in degrees to radians ; Usage: (Degrees->Radians 90) (defun Degrees->Radians (numberOfDegrees) (* pi (/ numberOfDegrees 180.0)) )
次の手順では、リストを受け入れ、関数に渡されたリストの最初の 2 つの要素のみを含む新しいリストを返す 3dPoint->2dPoint という名前の関数を定義します。
; Returns the first two elements of a list ; Usage: (3dPoint->2dPoint '(0 5 0)) (defun 3dPoint->2dPoint (3dpt) (list (float (car 3dpt)) (float (cadr 3dpt))) )