マクロ用の SDK サンプル コードを使用するには、修正が必要です。
Revit SDK には、次の 2 つのサンプル フォルダが入っています。
¥Revit SDK <リリース名>¥Software Development Kit¥Samples¥...
¥Revit SDK <リリース番号>¥Software Development Kit¥Macro Samples¥...
SDK の ¥Samples¥ フォルダにあるプログラムは、標準的な Revit API を使用します。これらのサンプルは SDK サンプル コードと呼び、Revit マクロ サンプルとは区別します。
このセクションにある手順に従います。プログラミング言語用に、C# のサンプルを示します。ただし、これらの命令は、SDK サンプルの VB.NET バージョンにも適用されます。
標準的な API サンプルを SDK から Revit マクロ IDE プロジェクトにマイグレーションする初期手順は、「Revit IDE にマクロを統合する」セクションに類似しています。代わりに SDK の ¥Macro Samples¥<sample-name>¥... のフォルダにあるファイルをコピーする以外は、SDK の ¥Samples¥<sample-name>¥... のフォルダからファイルをコピーします。
見直すには、次の手順を実行します。
Revit マクロ IDE では、IExternalCommand インタフェースは使用できません。SDK 標準 API サンプル コードで次の操作を実行して、このインタフェースを継承するクラスを更新する必要があります。
次のコード断片は、標準的な Revit API を使用するプログラムからのものです。
Revit マクロ IDE では、次のようにコードを更新する必要があります。この例では、アプリケーションレベル マクロを示します。RunSampleRooms() メソッドは、このマクロ サンプル用のエントリです。this ポインタを使用して、commandData.Application を置き換えたことに注目してください。
namespace AppCSharp.csproj となります。
ただし、Revit IDE の制限により、プロジェクト依存関係は設定できません。また、RevitViewer サンプルは移行できません。したがって、次のように、RevitViewer を独立した SDK サンプルとしてコンパイルし、その後その DLL を Revit IDE プロジェクト内の参照として追加します。