複数の図形タイプを処理する

まず、アプリケーションは 2 種類のポリライン(以前のスタイルのポリラインとライトウェイト ポリライン)を描く可能性があるということから説明します。これらの異なるポリライン タイプは、異なる形式の図形データを返します。以前のスタイルのポリラインは、12 個の実数(4 組の XYZ 座標)のリストを返します。 これに対し、ライトウェイト ポリラインは、8 個の実数(4 組のXY 座標)のリストを返します。

ユーザがポリライン境界の頂点の 1 つを移動したら、新しいポリライン境界を決定するために、いくつかの計算が必要です。ポリライン データが同じ形式なら、計算が非常に容易になります。

ファイル utils.lsp のレッスン 7 バージョンには、必要な形式変換を行う関数が含まれます。xyzList->ListOfPoints は、リストのリストから 3D 点形式でリストを抽出し、xyList->ListOfPoints は、リストのリストから 2D 点形式でリストを抽出します。

ポリライン データを同じ形式に変換するコードを追加するには

  1. Visual LISP テキスト エディタ ウィンドウに utils.lsp のコピーを開いている場合は、それを閉じます。
  2. utils.lsp を、Tutorial¥VisualLISP¥Lesson7 フォルダから作業フォルダにコピーします。

    utils.lsp には、ポリライン データの形式を変換する 2 つの関数に加えて、庭園の歩道に対するユーザの変更操作を処理するのに必要な他のユーティリティ関数が含まれています。

  3. Visual LISP のテキスト エディタ ウィンドウに utils.lsp を開き、新しいコードを調べます。