ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
テンプレート
テンプレートがありません。
Dynamo入門
Revit に付属するビジュアルプログラミング環境。コードを書かずにノードを繋いで反復作業を自動化する考え方と、Revit API への橋渡しまでを解説します。
この記事の要点
- Dynamo は Revit に付属するビジュアルプログラミング環境で、コードを書かずにノードを繋いで自動化を実現する
- ノード(処理ブロック)をワイヤ(配線)で接続し、左から右へデータを流すデータフロー型の考え方
- Revit 要素を一括取得・編集できるため、繰り返し作業やパラメータの一括設定に強い
- 標準ノードで足りない処理はPython ノードでスクリプトを書いて拡張できる
- 完成したスクリプトはDynamo Playerから、グラフを開かずワンクリックで実行できる
本記事は Revit カテゴリの一部です。Dynamo は Revit に同梱されるビジュアルプログラミング環境です。プログラミング未経験の設計者でも、ノードを繋ぐだけで反復作業を自動化できます。その考え方と、より本格的な開発である Revit API への橋渡しを解説します。
1ビジュアルプログラミングの考え方
Dynamo は「データフロー型」のプログラミングです。処理の単位である「ノード」を、データの流れを表す「ワイヤ」で繋ぎ、左から右へ値を加工していきます。テキストでコードを書く代わりに、画面上で部品を配線していく感覚です。
たとえば「すべての壁を取得」ノードの出力を「パラメータ値を取得」ノードの入力に繋ぐと、全壁のパラメータ値が一覧で得られます。変数・関数・繰り返しといったプログラミングの基本概念を、視覚的に学べる教材としても優れています。
2ノードとワイヤ
Dynamo の画面は、主に 3 つの概念で成り立っています。
1 つの処理を表すブロック。入力ポート(左)と出力ポート(右)を持つ。Revit 要素を操作する専用ノードが多数用意されている。
ノードの出力ポートと別ノードの入力ポートを繋ぐ配線。データの流れを表す。
値の集合(リスト)を一括で扱うのが得意。1 本のワイヤに複数要素が流れ、各ノードがまとめて処理する。
リストの階層(ネスト)の扱いと「レーシング(最長/最短/外積)」の理解が、Dynamo を使いこなす最初の壁です。
3Revit 要素の一括処理
Dynamo の最大の利点は、多数の Revit 要素を一度に処理できる点です。手作業では時間がかかる定型処理を、グラフ 1 本で再現可能にできます。代表的な用途を挙げます。
- 全部屋の面積を集計してパラメータに書き戻す。
- 図面枠のタイトルブロックに、図面番号を連番で一括入力する。
- 外部 Excel から読み込んだ仕様値を、対応するファミリインスタンスへ一括反映する。
- 勾配・座標などの計算結果に基づき、要素を自動配置する。
1 つ目の用途は、前章で扱った集計表(スケジュール表)に近い処理を、書き戻しまで含めて自動化する例です。
4Python ノードと API への橋渡し
標準ノードだけでは表現しにくい複雑な条件分岐やループは、「Python ノード」にスクリプトを書いて補えます。Python ノードの内部からは、Dynamo が提供する RevitServices(現在のドキュメント取得などのブリッジ)経由で Revit API(Autodesk.Revit.DB)を直接呼び出せるため、Dynamo は本格的な開発への入り口にもなります。
「Dynamo でできることの限界」に達したとき、次のステップが Revit API による C# アドイン開発です。ノードで概念を掴んでから API に進むと、要素取得やトランザクションといった考え方がスムーズに理解できます。詳しくは Revit API 概要 を参照してください。
5Dynamo Player による実行
完成したグラフ(.dyn)は「Dynamo Player」から実行できます。Player は Revit のリボンから起動でき、グラフエディタを開かずに一覧から選んでワンクリックで走らせられます。入力値(対象ビューや数値)を Player 上で指定できるよう設計しておけば、作者以外のメンバーも安全に自動化を使えます。社内で再利用するツールは Player 前提で作るのが定石です。
6パッケージとノードライブラリ
Dynamo には標準ノードのほかに、コミュニティが公開する「パッケージ」をインストールして機能を拡張できる仕組みがあります。代表的なものに、要素操作を大幅に補強する汎用パッケージや、データ加工・形状処理に特化したものがあります。パッケージマネージャから検索してインストールすると、専用ノードがライブラリに追加されます。
パッケージはバージョンや Revit の世代に依存することがあり、共有グラフが他 PC で動かない原因になりがちです。社内で配布するグラフは、依存パッケージとそのバージョンを明記し、できれば標準ノード中心で組むと保守が楽になります。
7つまずきやすいポイント
Dynamo を学び始めた人が陥りやすい点を押さえておくと、習得が早まります。
- リストの階層:データがリストの中のリスト(ネスト)になると、ノードがどの階層に作用するかで結果が変わる。階層を意識し、必要に応じて「Flatten」や「List.Map」で整える。
- レーシング:2 本の入力リストを組み合わせる際の対応規則(最短/最長/外積)を理解しないと、件数が想定外になる。
- 変更はトランザクション扱い:Dynamo が Revit モデルを変更する処理は、内部的にトランザクションとして実行され Undo の対象になる。意図しない一括変更を流すと大量の要素が一度に書き換わるため、対象を限定してから実行する。
- 実行前のバックアップ:破壊的な処理を流す前は、モデルを保存しておくと安全。
「データを流して加工する」という発想に慣れる
Dynamo のデータフロー型の考え方は、入力されたデータを次々と変換しながら出力へつなげていく、一連の加工パイプラインのイメージです。「全部の壁を取り出す → 必要なものだけ絞り込む → 値を計算する → 書き戻す」という流れは、リストを段階的に処理していく発想そのものです。この感覚に慣れると、リストの階層やレーシングといった最初の壁も「データの単位が合っているか」という観点で整理しやすくなります。ここで掴んだ感覚は、そのまま C# によるアドイン開発へ活きます。
ノードで概念を掴んだ次の一歩として、本格的なプログラムによる拡張は Revit 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
コメントを削除してもよろしいでしょうか?