ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
テンプレート
テンプレートがありません。
開発環境構築(Visual Studio + .addin マニフェスト)
Revit を自分の手で拡張するアドイン開発。その第一歩は、ビルド環境を整え、作った機能を Revit に「登録」する仕組み(.addin マニフェスト)を理解することです。最初のつまずきを避けるための定石をまとめます。
この記事の要点
- Revit アドインは Visual Studio で C# のクラスライブラリ(DLL)として開発する
- Revit の
RevitAPI.dllとRevitAPIUI.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 つのアセンブリを参照に追加します。役割が層で分かれているのがポイントです。
- 名前空間
Autodesk.Revit.DB - 要素・パラメータ・ジオメトリなどモデル操作の中心
- 名前空間
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(外部アプリ)。種別でロードのタイミングが変わる |
| Assembly | DLL の絶対パス。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 つの名前空間と主要オブジェクトの階層を押さえると、何ができるのかが見えてきます。
→次に読む
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
テンプレート
テンプレートがありません。
子ページはありません
人気ページ
- 1 建築とは — 建築物の定義・建築と土木の違い・ライフサイクルをわかりやすく解説
- 2 建築・BIM 総合Wiki — 建築の基礎からBIM・Revit・Speckleまで体系的に解説
- 3 建築図面の縮尺と寸法表記 — 1/100・1/50 の使い分けと mm 基準・面積をやさしく解説
- 4 日本のBIM動向 — 国交省BIM/CIM・建築BIM推進会議・ガイドラインをわかりやすく整理
- 5 建築プロジェクトの登場人物|施主・設計事務所・ゼネコン・サブコンと発注方式
- 6 建築入門 — 分野・登場人物・設計から竣工までの流れをやさしく整理
- 7 建築の3分野とは|意匠・構造・設備(MEP)の役割分担とBIMの分野別モデル
- 8 Speckle Automateとは|Version公開トリガーで自動QA・命名規約チェックを走らせる仕組み
- 9 Revit フェーズとデザインオプション|既存・解体・新築の段階管理と設計案比較
- 10 Revit ワークシェアリング徹底解説|ワークセット・セントラルファイル・同期(SWC)・クラウド共同作業
最近更新/作成されたページ
- Dynamo入門|Revitビジュアルプログラミング・ノードとワイヤ・Pythonノード・Dynamo Player NEW 2026-06-29 15:23:47
- 建築の3分野とは|意匠・構造・設備(MEP)の役割分担とBIMの分野別モデル NEW 2026-06-29 15:23:47
- specklepy入門|Python SDKでSpeckleClient認証・operations.send/receive NEW 2026-06-29 15:23:47
- 建築図面の縮尺と寸法表記 — 1/100・1/50 の使い分けと mm 基準・面積をやさしく解説 NEW 2026-06-29 15:23:47
- Speckle Viewerとは|Web3D表示・プロパティ確認・iframe埋め込みと@speckle/viewer NEW 2026-06-29 15:05:23
- Speckle .NET SDK入門|NuGet導入・認証・Base作成・send/receiveとRevitアドイン連携 NEW 2026-06-29 15:05:23
- 日本のBIM動向 — 国交省BIM/CIM・建築BIM推進会議・ガイドラインをわかりやすく整理 NEW 2026-06-29 15:05:23
- Speckle Serverセルフホスト|docker-compose構成とデータ主権・運用設計 NEW 2026-06-29 15:03:33
- Speckle Automateとは|Version公開トリガーで自動QA・命名規約チェックを走らせる仕組み NEW 2026-06-29 15:03:33
- Speckleデータ連携の実務パターン|数量集計・Power BI・QA・他DB連携のパイプライン NEW 2026-06-29 15:03:33
- SpeckleとIFCの違い|標準ファイル交換とライブ連携の比較表と併用の現実解 NEW 2026-06-29 15:03:33
- Speckleのsend/receive|Version生成・選択フィルタ・差分とバージョン履歴 NEW 2026-06-29 15:03:32
- Speckleとは|OSSのAECデータプラットフォームをやさしく解説 NEW 2026-06-29 15:03:32
- Speckleのコネクタ|Revit/Rhino/Grasshopper/Blender等の連携とsend/receive NEW 2026-06-29 15:03:32
- Speckleオブジェクトモデル|Base・動的プロパティ・detach・ハッシュと重複排除 NEW 2026-06-29 15:03:32
コメントを削除してもよろしいでしょうか?