13.

Revit API 開発環境構築|Visual Studio・RevitAPI.dll参照・.addinマニフェスト・配置先

編集
Revit API · 13

開発環境構築(Visual Studio + .addin マニフェスト)

Revit を自分の手で拡張するアドイン開発。その第一歩は、ビルド環境を整え、作った機能を Revit に「登録」する仕組み(.addin マニフェスト)を理解することです。最初のつまずきを避けるための定石をまとめます。

この記事の要点

  • Revit アドインは Visual Studio で C# のクラスライブラリ(DLL)として開発する
  • Revit の RevitAPI.dllRevitAPIUI.dll を参照に追加し、「ローカルにコピー」を false にするのが定石
  • ターゲットフレームワークは Revit のバージョンに合わせる(2025 は .NET 8、2022〜2024 は .NET Framework 4.8)
  • .addin マニフェスト(XML)で DLL のパス・クラス名・アドイン ID を Revit に登録する

この記事は Revit カテゴリの一部です。Revit API を使ったアドイン開発の出発点として、ビルド環境の準備とアドインの登録方法を整理します。API そのものの全体像は次の Revit API 概要 で扱います。

1Visual Studio とプロジェクトの作成

開発には Visual Studio(無償の Community エディションで十分)を使います。新規プロジェクトで「クラスライブラリ(C#)」を選び、出力が DLL になるようにします。Revit アドインは単体で動く実行ファイル(.exe)ではなく、Revit からロードされて初めて動く DLL(部品)である点が大きな特徴です。

.NET のターゲットフレームワークは、使う Revit のバージョンに必ず合わせます。バージョンの不一致はロード失敗の典型的な原因なので、プロジェクト作成時に最初に確認しておきましょう。

Revit バージョンターゲットフレームワーク
Revit 2025 以降.NET 8
Revit 2022〜2024.NET Framework 4.8

2RevitAPI.dll / RevitAPIUI.dll の参照

API を呼び出すには、Revit インストールフォルダ(例: C:\Program Files\Autodesk\Revit 20xx)にある 2 つのアセンブリを参照に追加します。役割が層で分かれているのがポイントです。

RevitAPI.dllデータベース層
  • 名前空間 Autodesk.Revit.DB
  • 要素・パラメータ・ジオメトリなどモデル操作の中心
RevitAPIUI.dllUI 層
  • 名前空間 Autodesk.Revit.UI
  • 外部コマンド・リボン・ダイアログなど画面操作
参照追加時の必須設定
追加した参照のプロパティで「ローカルにコピー(Copy Local)」を false にすること。これらの DLL は Revit 本体が提供するため一緒に配布する必要がなく、true のままだとバージョン衝突や配布物の肥大化の原因になります。

3.addin マニフェスト(XML)

ビルドした DLL を Revit に認識させるのが .addin マニフェストファイルです。これは XML 形式で、外部コマンド/外部アプリの種別、DLL のパス、エントリとなるクラスの完全修飾名、アドインの GUID などを記述します。外部コマンドを登録する例は次の通りです。

<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
  <AddIn Type="Command">
    <Name>MyFirstCommand</Name>
    <Assembly>C:\Addins\MyAddin\MyAddin.dll</Assembly>
    <FullClassName>MyAddin.HelloWorldCommand</FullClassName>
    <AddInId>8A4D1C6E-5F2B-4C7A-9E3D-1F2A3B4C5D6E</AddInId>
    <VendorId>EXMP</VendorId>
    <VendorDescription>Example Co.</VendorDescription>
  </AddIn>
</RevitAddIns>

主な要素の意味は以下の通りです。

要素意味
Type 属性Command(外部コマンド)または Application(外部アプリ)。種別でロードのタイミングが変わる
AssemblyDLL の絶対パス。Addins フォルダからの相対パスでも指定できる
FullClassNameエントリクラスの完全修飾名(名前空間.クラス名)。これが間違うとロードできない
AddInIdアドインを一意に識別する GUID。プロジェクトごとに新規生成し、使い回さない

4配置先 Addins フォルダ

マニフェストと DLL は、Revit が起動時に走査する「Addins フォルダ」に配置します。代表的なパスは次の 2 系統です。

全ユーザー向け
C:\ProgramData\Autodesk\Revit\Addins\20xx\
個人ユーザー向け
%APPDATA%\Autodesk\Revit\Addins\20xx\

20xx は Revit のバージョン番号です。ここに .addin を置き、Assembly で指定したパスに DLL があれば、Revit 起動時に自動で読み込まれます。開発中はビルド後イベントで DLL とマニフェストをこのフォルダへ自動コピーする設定にしておくと、修正→確認の反復が格段に楽になります。

最初に環境を固めるメリット

アドイン開発でつまずく原因の多くは、コードのロジックではなく「フレームワークのバージョン不一致」「.addin の記述ミス」「配置フォルダの誤り」という環境周りです。逆に言えば、ここを正しく押さえれば最初の壁の大半は越えられます。ビルド後の自動コピーまで設定しておけば、以降はコードに集中できます。

環境が整ったら、次は API そのものの構造を学びましょう。Revit API 概要 で 2 つの名前空間と主要オブジェクトの階層を押さえると、何ができるのかが見えてきます。

コードを書いてから Revit に読み込まれるまで Visual Studio C# で開発 ビルド .dll クラスライブラリ 登録 .addin マニフェスト(XML) DLLパス・クラス名・GUID を記述 Addins フォルダ に DLL と .addin を配置 ProgramData / APPDATA の Autodesk\Revit\Addins\20xx Revit 起動 自動で読み込み
図: アドインが読み込まれるまで — Visual Studio でビルドした DLL を、配置先やクラス名を書いた .addin マニフェストとともに Addins フォルダへ置くと、Revit 起動時に自動で読み込まれる。

次に読む

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. Revitとは
  2. ファミリ(システム/ロード/インプレイス)
  3. カテゴリ・タイプ・インスタンス
  4. パラメータ(プロジェクト/共有/グローバル/ファミリ)
  5. レベルと通り芯
  6. ビューとビューテンプレート
  7. シートと図面化
  8. スケジュール表(集計表)
  9. ワークシェアリングと中心ファイル
  10. フェーズとデザインオプション
  11. リンクと座標連携
  12. Dynamo入門
  13. 開発環境構築(Visual Studio + .addin マニフェスト)
  14. Revit API 概要
  15. Revit API:要素の取得とフィルタ
  16. Revit API:トランザクションと要素編集
  17. Revit API:外部コマンド/アプリ

最近更新/作成されたページ