骨格となる関数を更新する

gp:getDialogInput 関数の改訂が終了しました。骨格となる関数を修正したときは常に、次の 2 点をチェックする必要があります。

gp:getDialogInput の場合、両方の質問に該当します。この関数は、歩道の幅を引数として受け入れるようになりました(タイルのサイズの既定と間隔の既定を設定するため)。また、骨格バージョンは関数の戻り値として T を返していましたが、gp:getDialogInput は 4 つの新しい値を含む連想リストを返すようになりました。

これら 2 つの変更は、この関数を呼び出しているコードと、関数からの戻り値を処理するコードに影響します。gpmain.lsp 内の C:GPath 関数の以前のバージョンを、次のコードに置き換えてください。

(defun C:GPath (/ gp_PathData gp_dialogResults)
  ;; Ask the user for input: first for path location and
  ;; direction, then for path parameters.  Continue only if you
  ;; have valid input.  Store the data in gp_PathData.
  (if (setq gp_PathData (gp:getPointInput))
    (if (setq gp_dialogResults (gp:getDialogInput (cdr(assoc 40
                               gp_PathData))))
      (progn
        ;; Now take the results of gp:getPointInput and append this
        ;; to the added information supplied by gp:getDialogInput.
        (setq gp_PathData (append gp_PathData gp_DialogResults))

        ;; At this point, you have all the input from the user.
        ;; Draw the outline, storing the resulting polyline
        ;; "pointer" in the variable called PolylineName.
        (setq PolylineName (gp:drawOutline gp_PathData))
      ) ;_ end of progn
      (princ "\nFunction cancelled.")

    ) ;_ end of if
    (princ "\nIncomplete information to draw a boundary.")

  ) ;_ end of if
  (princ)  ; exit quietly

) ;_ end of defun

改訂されたメイン関数 C:GPath の太字の行を見てください。 プログラムを正しく動作させるために、次の 2 点が変更されています。

骨格バージョンの仮の位置からの置き換えによって得られたコードを、さらに変更します。最も簡単にこれを行うには、このオンライン チュートリアルからコードをコピーし、ファイルに貼り付けます。