Revit API のトレーニングをする際など、これからAdd-inを作成しようとしている方に対して、私が必ずお勧めするいくつかのツールがあります。以下がそれらです:
- Revit Lookup
- Add-In Manager
- RevitAPIDllsPathUpdater.exe
- SDKSamples2013.sln
- RvtSamples
今日は、これらのうち、最初の2つについて説明したいと思います。
その前に、まだ、外部コマンドで Hello World を作成した経験がない方は、まずは、前回お話した、Wiki Help やトレーニングの教材を見ていただき、最小のRevit の外部コマンドを作成してみてください。(まだ、これからというかたは、例えば、Wiki Helpにある、Hello World C# あるいはVB.NETの例をみて試していただくとよいでしょう。)それによって、RevitAPI.dll やRevitAPIUI.dll、.NETのクラスライブラリ、.addin マニフェストの意味を理解していただき、そのあと、ここでお話しするツールを見ていただくと、ツールのインストール方法もわかるはずです。
Revit Lookup
Revitのデータベース構造を”のぞき見”することができるツールです。ツールそのものがRevit APIで書かれてあるので、もしも、Revit Lookupで内部データを確認できるようであれば、APIでアクセスすることが可能です。学習用としてもデバッグ用としても、Revit APIのプログラマのためのなくてはならないツールです。このツールはRevit SDKのRevitLookupフォルダにあります。C#で書かれたプロジェクトです。Hello Worldと同様の方法で、RevitAPI.dll、RevitAPIUI.dllを参照、ビルドし、.addinマニフェストを実際のDllのロケーションに合わせて修正し、Revitにセットアップします。
以下にLookupツールのメニューと壁要素をひとつ選択した例をとって、Revit Lookupで内部データを見た例を示します。
Revit Lookupのメニュー:

壁要素を選択した例:

太字で表示されている部分をクリックすると、さらに深くそのデータを「掘り込んで」いくことができます。以下が、Parameters をさらに詳しく見ていった例です:

Add-in Manager
Revit APIで開発を始めたばかりの方がよく言われるのは、「.addinマニフェストを作成するのが面倒」ということです。確かにAutoCADですと、NETLOAD コマンドで、ロードでき、わざわざ、マニフェストファイルを作成する必要がありません。AutoCADでなれていらっしゃる方は特にそう思われるかもしれません。
あと、もうひとつはアンロードの問題です。これはAutoCADでも同じですが、.NET のアップリーケーションはアンロードが簡単にできないようになっています。これはマイクロソフトの仕様です。コードをビルド、Revitを立ち上げ、デバッグ。再度コードを修正してテストをしなおすとなると、再度Revitを立ち上げるとこになりますが、これが意外と時間がかかってしまうので、Revitを再起動しないでDebugを繰り返す方法はないのかという質問をよく受けます。
Add-In Manager はそういった要望のあるかたに便利なツールです。アドインをマニフェストで登録せずにコマンドを実行することができ、またRevitを実行している間に、DLLをアンロードロードすることが可能です。(ただし、Revitがすでにたちあがっているため、Revitのスタートアップで何かをするといったようなアプリケーションのデバッグは当然Revitを再度立ち上げる必要があります。)
このツールはRevit Lookup ツールと同じくSDKのAdd-In Managerフォルダにあります。MSIとして用意されていますので、単にダブルクリックしてインストールするだけです。ソースコードは提供されていません。インストールすると、以下のようなメニューが外部ツールボタンに追加されます:

コマンドのトランザクションモードの種類によってマニュアル、読み込み専用、自動が用意されています。作成しているコマンドのモードに応じてそれらから選択します。Facelessの意味はUIなしで、前回使用したコマンドが実行されます。以下にダイアログの使用例を示します:

私もサポートの際によく使用します。ぜひ試してみてください。
原田

You must be logged in to post a comment.