演習 1: 画層のグループ化を自動化する

ワークフローは一連の処理を自動化します。処理のパラメータを指定しておくことも、ワークフロー実行時にパラメータを入力することもできます。

このレッスンでは、すべて SDF ファイルで構成されるフォルダから[表示マネージャ]の画層を作成して、.layer ファイルに保存する事前定義のワークフローを編集します。画層を保持するグループを作成し、新しいグループに画層を移動します。

ワークフローを編集するには

  1. AutoCAD Map 3D ツールセットでマップを作成します。
    • [新規作成] [図面]の順に選択します。
    • map2d.dwt テンプレートを選択して、[開く]をクリックします。
  2. サンプル ワークフローを開きます。
    • [ツール]タブ [ワークフロー]パネル [ワークフローをファイルから開く]ドロップダウン リストをクリックします。
    • このチュートリアルのサンプル データの一部として含まれているサンプル ワークフローにナビゲートします。Batch Save Layer.xaml を開きます。
    • ([編集])をクリックします。
  3. [ワークフロー デザイナー]の右側のアクティビティ パネルで、AutoCAD Map 3D ツールセット ツールボックスが展開されていることを確認します。

    右側の AutoCAD Map 3D ツールセットのアクティビティを展開します。すべてのアクティビティを一度に表示するには、 をクリックします。

  4. [フォルダの内容を検索]アクティビティをダブルクリックして、入力エディタを開きます。

    このアクティビティは指定したフィルタに基づいて、指定のフォルダのファイルを検索します。この場合は、すべての SDF ファイルを検索します。

  5. SDF ファイルが格納されているフォルダを指定します。

    SDF ファイルが2つまたは3つ格納されているフォルダを選択します。SDF ファイルを格納したフォルダがない場合は、チュートリアルに付属しているサンプル SDF ファイルを使用して、フォルダを作成します。

  6. アクティビティ パネルから[グループを追加]アクティビティをドラッグし、[LoopAddLayers]アクティビティの直前に配置します。(必要なグループは1つだけのため、[LoopAddLayers]アクティビティの外部に配置します。)

    LoopAddLayers は、ForEachアクティビティで、指定のアクションを特定のアイテムのコレクションに対して繰り返し実行します。このタイプのアクティビティは、[ユーティリティ]ツールボックスにあります。

    この場合、ForEach アクティビティの名前は "LoopAddLayers"となり、アクティビティの実行内容を示す名前になります。このアクティビティは、[フォルダの内容を検索]アクティビティで指定されたフォルダ内の各 SDF ファイルを調べます。アクティビティは反復実行されるごとに、SDF ファイルに接続して、フィーチャ画層を [表示マネージャ]に追加します。

    [グループを追加]アクティビティは、新しい画層を保持するグループを作成します。[LoopAddLayers]アクティビティによって画層がグループに追加されるため、ループ アクティビティが開始される前に、グループを作成する必要があります。

  7. 新たに配置した[グループを追加]アクティビティをダブルクリックして、入力エディタを表示します。次のようにパラメータを設定し、[OK]をクリックします。
    • 新しいグループに SDFLayers という名前を付けます。
    • [オプション パラメータを表示]領域で、このアクティビティに Add SDFLayers Group という名前を付けます。

    [グループを追加]アクティビティを[LoopAddLayers]アクティビティのすぐ上にドラッグし、パラメータを変更します。

  8. プラス記号をクリックして、[LoopAddLayers]アクティビティを展開します。
  9. アクティビティ パネルから[フィーチャ画層のプロパティを変更]アクティビティをドラッグし、[LoopAddLayers]アクティビティ内の[画層を作成]の下に配置します。

    追加する画層ごとに[グループ]プロパティを変更するため、このアクティビティは、[LoopAddLayers]という名前の[ForEach]アクティビティの内部に配置します。

  10. 新しい[フィーチャ画層のプロパティを変更]アクティビティをダブルクリックします。次のようにパラメータを設定し、[OK]をクリックします。
    • [画層]で、[画層を作成]アクティビティの出力を選択します。

      前のアクティビティの出力を選択すると、現在のアクティビティをその先行アクティビティに結合することになります。前のアクティビティの結果が現在のマップ内にまだ存在しません。ワークフロー バインドによって、ワークフローが実行されるときに作成される画層を指定できるようになります。

      [画層]フィールドの横にある下向き矢印をクリックし、[前の操作の結果]で[画層を作成]アクティビティを展開して、画層を選択します。

    • [グループ]で、[Add SDFLayers Group]アクティビティの出力を選択します。

      [オプション パラメータを表示]セクションを展開します。[グループ]フィールドの横にある下向き矢印をクリックし、[前の操作の結果]で[Add SDFLayers Group]アクティビティを展開して、グループを選択します。

      [フィーチャ画層のプロパティを変更]アクティビティを[LoopAddLayers]アクティビティ内にドラッグし、[画層を作成]の直後に配置します。パラメータを変更し、変更する画層および画層のグループを指定します。

    • アクティビティの[表示名]を Add SDF Layers to Group に変更します。
  11. 編集したワークフローを別の名前で保存します。
    • 事前定義のワークフローを上書きしないよう、[保存]ではなく[名前を付けて保存] を使用します。
    • ワークフローの場所と名前を入力します。新しいワークフローに Batch Save Layer Expanded という名前を付けます。
    • [保存]をクリックします。

このチュートリアルを続けるには、「演習 2: AutoCAD コマンドを自動化する」に進みます。