ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
テンプレート
テンプレートがありません。
子ページはありません
- Revitとは
- ファミリ(システム/ロード/インプレイス)
- カテゴリ・タイプ・インスタンス
- パラメータ(プロジェクト/共有/グローバル/ファミリ)
- レベルと通り芯
- ビューとビューテンプレート
- シートと図面化
- スケジュール表(集計表)
- ワークシェアリングと中心ファイル
- フェーズとデザインオプション
- リンクと座標連携
- Dynamo入門
- 開発環境構築(Visual Studio + .addin マニフェスト)
- Revit API 概要
- Revit API:要素の取得とフィルタ
- Revit API:トランザクションと要素編集
- Revit API:外部コマンド/アプリ
- 共有パラメータの作り方と使い方
- ファミリの作り方(ロード可能ファミリ入門)
- パラメータの種類と分類(総まとめ)
人気ページ
- 1 建築図面の縮尺と寸法表記 — 1/100・1/50 の使い分けと mm 基準・面積をやさしく解説
- 2 Revit ファミリの作り方|テンプレート・参照面・パラメータ化・タイプ作成の手順
- 3 Revit ワークシェアリング徹底解説|ワークセット・セントラルファイル・同期(SWC)・クラウド共同作業
- 4 建築とは — 建築物の定義・建築と土木の違い・ライフサイクルをわかりやすく解説
- 5 Revit パラメータの種類まとめ|共有・プロジェクト・ファミリ・グローバル・組込みの使い分け
- 6 建築・BIM 総合Wiki — 建築の基礎からBIM・Revit・Speckleまで体系的に解説
- 7 通り芯・GL・FL・SL・階高・天井高 — Revit の通り芯/レベルの土台をやさしく理解する
- 8 Revit 共有パラメータとは|作り方・GUID・タグ/スケジュール連携をわかりやすく解説
- 9 Revitのパラメータ — 共有(GUID)/プロジェクト/グローバル/組込み(BuiltInParameter)の違いと連携
- 10 BIM座標系の基礎|内部原点・基準点・測量点・共有座標と真北/プロジェクト北
最近更新/作成されたページ
- Revit 共有パラメータとは|作り方・GUID・タグ/スケジュール連携をわかりやすく解説 2026-07-02 01:01:35
- Revit パラメータの種類まとめ|共有・プロジェクト・ファミリ・グローバル・組込みの使い分け 2026-07-02 00:55:31
- Revit ファミリの作り方|テンプレート・参照面・パラメータ化・タイプ作成の手順 2026-07-02 00:55:30
- Dynamo入門|Revitビジュアルプログラミング・ノードとワイヤ・Pythonノード・Dynamo Player 2026-06-29 15:23:47
- 建築図面の縮尺と寸法表記 — 1/100・1/50 の使い分けと mm 基準・面積をやさしく解説 2026-06-29 15:23:47
- 建築の3分野とは|意匠・構造・設備(MEP)の役割分担とBIMの分野別モデル 2026-06-29 15:23:47
- specklepy入門|Python SDKでSpeckleClient認証・operations.send/receive 2026-06-29 15:23:47
- Speckle .NET SDK入門|NuGet導入・認証・Base作成・send/receiveとRevitアドイン連携 2026-06-29 15:05:23
- Speckle Viewerとは|Web3D表示・プロパティ確認・iframe埋め込みと@speckle/viewer 2026-06-29 15:05:23
- 日本のBIM動向 — 国交省BIM/CIM・建築BIM推進会議・ガイドラインをわかりやすく整理 2026-06-29 15:05:23
- Speckleデータ連携の実務パターン|数量集計・Power BI・QA・他DB連携のパイプライン 2026-06-29 15:03:33
- Speckle Serverセルフホスト|docker-compose構成とデータ主権・運用設計 2026-06-29 15:03:33
- Speckle Automateとは|Version公開トリガーで自動QA・命名規約チェックを走らせる仕組み 2026-06-29 15:03:33
- SpeckleとIFCの違い|標準ファイル交換とライブ連携の比較表と併用の現実解 2026-06-29 15:03:33
- Speckleとは|OSSのAECデータプラットフォームをやさしく解説 2026-06-29 15:03:32
コメントを削除してもよろしいでしょうか?