コマンド プロンプトでのユーザ対話処理を定義し、値を計算する

gpuser サブルーチンは、ユーザに庭園の歩道の描画に必要な情報を入力するよう求めるプロンプトを表示します。

このサブルーチンでは、Utility オブジェクトのユーザ入力メソッドを使用し、歩道の外側エッジの図形を作成するために使用する値を計算します。

  1. コード ウィンドウで、distance 関数の End Function 文の後ろをクリックし、[Enter]を 2 回押します。
  2. 次のコードを入力します。
    ' Acquire the information for the garden path
    Private Sub gpuser()
      ' Defines a local variant variable
      Dim varRet As Variant
    
      ' Prompt the user for the start point of the path's centerline
      varRet = ThisDrawing.Utility.GetPoint( , "Specify start point of path: ")
      sp(0) = varRet(0)
      sp(1) = varRet(1)
      sp(2) = varRet(2)
    
      ' Prompt the user for the endpoint of the path's centerline
      varRet = ThisDrawing.Utility.GetPoint(sp, "Specify endpoint of path: ")
      ep(0) = varRet(0)
      ep(1) = varRet(1)
      ep(2) = varRet(2)
    
      ' Prompt for half of the path's width
      hwidth = ThisDrawing.Utility.GetDistance(sp, "Specify half width of path: ")
    
      ' Prompt for the radius of a tile
      trad = ThisDrawing.Utility.GetDistance(sp, "Specify radius of tiles: ")
    
      ' Prompt for the spacing between the tiles
      tspac = ThisDrawing.Utility.GetDistance(sp, "Specify spacing between tiles: ")
    
      ' Calculate the angle from the axis
      pangle = ThisDrawing.Utility.AngleFromXAxis(sp, ep)
    
      ' Multiple by two for the total width of the path
      totalwidth = 2 * hwidth
    
      ' Calculate the distance of the path
      plength = distance(sp, ep)
    
      ' Calculate the angle of the path plus or minus 90 degrees
      angp90 = pangle + dtr(90)
      angm90 = pangle - dtr(90)
    End Sub
  3. プロジェクトを保存します。

次の図は、庭園の歩道のために gpuser サブルーチン内の値がどのように取得および計算されるかを示しています。