ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
テンプレート
テンプレートがありません。
Revit API 概要
Revit API は、Revit のモデルをプログラムから操作するためのオブジェクト指向 API です。何ができて、どんな構造になっているのか。開発時に必ず押さえておきたい勘所を、全体像から整理します。
この記事の要点
- API は 2 つの名前空間に大別される。モデル操作の
Autodesk.Revit.DBと UI 操作のAutodesk.Revit.UI - 主要オブジェクトは Application・Document・Element の階層になっている
- 処理の入口は
IExternalCommand(ボタン実行型)とIExternalApplication(起動時常駐型) - モデル変更は必ずトランザクション内で行う。内部単位は「フィート」固定
この記事は Revit カテゴリの一部です。API の全体像を押さえると、個々の機能の位置づけが理解しやすくなります。環境準備は 開発環境構築、要素の取り出しは 要素の取得とフィルタ を参照してください。
12 つの名前空間:DB と UI
Revit API は大きく 2 つの名前空間に分かれます。「モデルそのものを触るなら DB、ユーザーや画面に関わるなら UI」と覚えると整理しやすいです。
- Element・Wall・Parameter
- FilteredElementCollector
- Transaction など、モデル本体を扱うクラス群
- IExternalCommand
- UIApplication・UIDocument
- TaskDialog・RibbonPanel など、対話を扱うクラス群
2Application / Document / Element の階層
API の主要オブジェクトは、大きいものから小さいものへと階層構造になっています。
Revit セッション全体を表す(Autodesk.Revit.ApplicationServices.Application)。UI 側の入口は UIApplication。
開いている 1 つのモデル(.rvt)。要素の追加・編集・取得はすべて Document を起点に行う。UI 側は UIDocument。
壁・床・ファミリインスタンスなど個々の要素。すべての要素は ElementId で一意に識別される。
外部コマンドでは、引数の ExternalCommandData から UIApplication → UIDocument → Document とたどって、対象モデルにアクセスします。
3IExternalCommand と IExternalApplication
アドインのエントリポイントは、用途に応じて次の 2 つのインターフェースを実装します。詳しい使い分けは 外部コマンド/アプリ を参照してください。
- ボタンクリックなどで 1 回実行される処理
Executeメソッドを実装- 戻り値に
Result.Succeeded/Failed/Cancelledを返す
- Revit 起動時にロードされ常駐
OnStartupでリボン UI 構築やイベント購読OnShutdownで後始末
最小限の外部コマンドは次のように書きます。
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.Attributes;
[Transaction(TransactionMode.Manual)]
public class HelloWorldCommand : IExternalCommand
{
public Result Execute(ExternalCommandData commandData,
ref string message, ElementSet elements)
{
UIDocument uidoc = commandData.Application.ActiveUIDocument;
Document doc = uidoc.Document;
TaskDialog.Show("Hello", "ドキュメント: " + doc.Title);
return Result.Succeeded;
}
}
[Transaction(TransactionMode.Manual)] 属性は必須で、モデル変更時のトランザクション管理方式を宣言します。
4トランザクション必須と内部単位
API を使ううえで、初めて触れる人が必ずつまずく 2 点を先に押さえておきます。この 2 つを理解しておくと「変更できない」「数値が異常」といった典型的なハマりを避けられます。
要素作成・パラメータ設定・削除などモデルを変更する操作は、必ず
Transaction の Start〜Commit で囲む。トランザクション外で変更しようとすると例外になる。詳細は トランザクションと要素編集 を参照長さの内部値は表示単位(mm など)に関わらず常に「フィート」。座標や寸法を入出力する際は
UnitUtils.ConvertToInternalUnits / ConvertFromInternalUnits で変換する全体像でつかむ Revit API
Revit API は一見クラスが膨大ですが、構造はシンプルです。DB と UI の 2 名前空間に分かれ、Application → Document → Element の階層でモデルにたどり着き、IExternalCommand / IExternalApplication という 2 つの入口から処理が始まる——この骨格さえ掴めば、個々のクラスは「どの層・どの段階のものか」で位置づけられます。
次は実際に要素を集めてみましょう。要素の取得とフィルタ で FilteredElementCollector の使い方を学ぶと、API でできることが具体的に見えてきます。
→次に読む
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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
コメントを削除してもよろしいでしょうか?