マクロを Revit マクロ プロジェクトに統合する手順について説明します。「SDK から Revit マクロ サンプルを使用する」に記載されている例が使用できる場合は、このトピックをスキップすることができます。
このトピックでは、ファイル システム上のリソースに対応する IDE プロジェクト内のフォルダを作成する場所、必要な参照を追加する方法、およびプロパティを定義する方法について説明します。SDK に付属の Revit_Macro_Samples.rvt に組み込まれたマクロでは、これらの手順は完了しております。
マクロがユーザ インタフェースを提示する場合には、必要な参照をプロジェクトに追加する必要が生じます。たとえば、SDK SampleRooms マクロでは、次を参照する必要があります。
マクロ マネージャを起動し、プロジェクト タイプを選択して[編集]をクリックします。
IDE で、プロジェクト エクスプローラに移動します。これは既定では、表示の右側にドッキングされています。
マクロ プロジェクト(例: AppCSharp)の場合、[参照]セクションを右クリックして、メニューから[参照の追加]を選択します。
[参照の追加]ダイアログで、リストから[System.Drawing]と[System.Windows.Forms]を検索して選択します。[Ctrl]キーを押したままにすることで、複数の選択操作を行います。次に例を示します。
準備が完了したら、[OK]をクリックします。
IDE のプロジェクト エクスプローラが、次の参照に更新されます。
IDE のプロジェクト エクスプローラで、マクロ プロジェクトを右クリックして、メニューから[追加] [新しいフォルダ]を選択します。次に例を示します。
フォルダに名前を付けます。この例では、Samples という名前を付けます。次に、[Samples]フォルダ エントリを右クリックし、再度[追加] [新しいフォルダ]をクリックすることで、Rooms などの名前で 2 番目のフォルダを追加します。
IDE の外部で、Windows エクスプローラを使用し、Revit のインストール フォルダにナビゲートし、 AppHookup フォルダを探します。対応する ¥Samples¥Rooms のサブフォルダが、この場所に作成されていることに注目してください。
引き続き Revit IDE の外部で、作成したサブフォルダにマクロのファイルをコピーします。
Revit IDE に戻ります。プロジェクト エクスプローラ(この例を引き続き使用)で、マクロ用に作成したフォルダを右クリックして、メニューから[追加] [既存の項目]を選択します。次に例を示します。
表示される IDE ダイアログで、Revit インストール フォルダの下にある、ファイル システム上の対応するサブフォルダ(Revit SDK Macro Sample フォルダなど)を参照し、マクロを構成するすべてのファイルを選択し、[追加]をクリックします。
この例では、GetTimeElapsed_CSharp について更新された IDE プロジェクト エクスプローラに、次が入っています。
ファイルがプロジェクトに追加されると、マクロを実行するメソッドを書き込むことができます。たとえば、C# では次のようになります。
/// Sample Rooms testpublic void RunSampleRooms(){SamplesRoom sample = new SamplesRoom(this);sample.Run();}
必ず、マクロの名前空間用の使用命令を追加してください。次に例を示します。
using Revit.SDK.Samples.Rooms.CS;
プロジェクトを保存してから、IDE ツールバー メニューから[ビルド]をクリックします。Revit で、マクロ マネージャを起動して、分類リストからマクロを選択します。SDK では、Rooms サンプルがドキュメントレベル マクロでコード化されている場合があります。その場合、このセクションの画面に示すように AppCSharp プロジェクト内で実行するためにはコード変更が必要です。
マクロはマクロ マネージャから実行されると、モデルからデータを収集して、概要情報を表示します。次に例を示します。
Revit マクロ サンプルの 1 つである GridCreation は、resources.resx ファイルに対して依存しています。GridCreation サンプルでテストする前に、Revit マクロ IDE で ResX ファイルを設定してください。これは、SDK から Revit_Macro_Samples.rvt に組み込まれたドキュメントレベル サンプルでは既に完了しています。ただし、ユーザ自身で開発したマクロの場合では、プロジェクトの resources.resx ファイル内でのプロパティの定義が必要な場合があります。このセクションに、1 つの例を示します。
プロジェクト エクスプローラで、マクロの[プロパティ]フォルダにナビゲートします。例: [任意のマクロ] [サンプル]
[GridCreation]
[プロパティ]
resources.resx ファイルをハイライト表示します。
[プロパティ]ペインで、[カスタム ツール]プロパティを選択し、[値]列に ResXFileCodeGenerator と入力します。