ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
前提
Visual Studioをインストール済み
Revitをインストール済み (今回使用するバージョンは2021)
今回はC#を例に簡単なアドインを作成する(Hello Worldをダイアログで表示させるアドイン)
プロジェクトの作成
Visual Studioでプロジェクトを新規作成する。
C#を使えるクラスライブラリを選択する。

プロジェクト名は「CsSampleProject」とする。
以下のファイルが自動で作成される。
| Class1.cs |
|---|
| using System;
namespace CsSampleProject |
※入力フォームなどの画面UIを作成する場合は「.NET Framework」を使用すること
その場合、そのままではビルドが成功しないので、「プロジェクトを右クリック」→「プロパティ」→「アプリケーション」タブ にある「出力の種類」を「クラス ライブラリ」に変更する。

DLLの参照
作ったプロジェクトがRevit APIのDLLを参照するように設定する。
参照方法は以下の記事を参照。
https://jpn.itlibra.com/article?id=21487
実装
最初に作られたクラスに以下の記述をする。
| Class1.cs |
|---|
|
using System; using Autodesk.Revit.UI; namespace CsSampleProject public class CsHelloWorld : IExternalApplication string thisAssemblyPath = Assembly.GetExecutingAssembly().Location; PushButton pushButton = ribbonPanel.AddItem(buttonData) as PushButton; pushButton.ToolTip = "Say hello to the entire world."; return Result.Succeeded; public Result OnShutdown(UIControlledApplication application) [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] } |
IExternalApplicationを継承したクラスはOnStartupとOnShutdownメソッドを実装する。それぞれRevitの起動時と終了時に呼び出される処理を定義する。
IExternalCommandを継承クラスはExecuteメソッドを実装する。これはボタンを押された際の処理を定義する。
ビルド
「ビルド」→「ソリューションのビルド」を選択する。

ビルドエラーが無いかコンソールで確認すること。
ビルドしたdllファイルの出力先はコンソール上に表示される。
dllは最終的には後述するマニフェストファイルと同じパスに保存することを推奨する。
マニフェストファイルの作成
以下のようなマニフェストファイルを作成します。
| CsSampleProject.addin |
|---|
|
|
※Assemlyはddlの出力先を指定する。
マニフェストファイルの詳細な定義方法は以下の記事を参照。
https://jpn.itlibra.com/article?id=21489
マニフェストファイルの設置
以下の記事を参照。
https://jpn.itlibra.com/article?id=21488
外部アプリケーションの起動
Revitを再起動する。
「アドイン」タブを選択して、追加されたアプリを選択する。
Hello Worldのダイアログが出現すればOK。

ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- RevitAPI.dll と RevitAPIUI.dll の参照
- マニフェストファイルの書き方
- アドインの追加/設置方法
- アドインの作成サンプル(外部ツール編)
- アドインの作成サンプル(外部アプリケーション編)
- 要素の取得と情報の表示
- 要素のカテゴリとマテリアルの取得と表示
- よく使うBuiltInCategoryの一覧
- 外部ツールでAutodesk.Revit.Documentを取得する方法
- エラーメッセージの設定方法
- 「はい」、「いいえ」、「キャンセル」ボタンの設置と処理分岐
- 要素(カテゴリ、ファミリ、タイプ)とは
- ElementIdとUniqueIdの違い
- 要素フィルターの使い方
- 要素のパラメータ一覧の取得
- pyRevitの導入と簡単なアプリケーションの作成
- Revit SDKのサンプルの場所とビルド方法
- FamilySymbol(タイプ)の取得とパラメータの変更
- 相対パスでdllにアイコン画像を埋め込む方法
- 「グループ」について
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?