【脱・単純作業】生成AI×Dynamoで「足場の重複チェック」を自動化する方法
お久しぶりです。ANDPAD ZERO BIMグループの鈴木です。
2026年、新年あけましておめでとうございます。
さて、ここ数年で一気に浸透した「生成AI」。
「すごい技術だとは聞くけれど、建設現場のBIM業務で具体的にどう役に立つの?」 そんな疑問をお持ちではないでしょうか。
今回のnoteのテーマは、『生成AI』を活用したDynamo作成です。
施工BIMにおいて重要、かつ非常に手間がかかる「足場の重複を確認し削除する作業」。
これをワンクリックで終わらせるツールを、生成AI(Gemini)を使って作ってみました。
・「生成AIを使って、もっと業務を楽にしたい」と考えているRevitユーザーの方
・「生成AIとBIMを組み合わせると、具体的に何ができるの?」と興味がある方
そんな方々に、「プログラミング知識がなくてもここまでできる!」という事例をご紹介します。
今回の事例:厄介な「足場の重複」問題
弊社のBIMサービスでは、施工段階での「BIM導入」から「活用」への転換をテーマに、現場監督の「施工検討業務の負担軽減」を目的としたBIM支援を行っております。
その一環として、仮設足場計画や88条申請用の図面作成、工区ごとの数量算出もサポートしています。その中で最もよく感じる課題のひとつに、仮設足場の精度チェックがあります。
仮設足場は部材が細かく膨大な数になるため、「同じ位置に部材が二重に配置されていないか」を目視で確認するのは至難の業です。当然、重複があれば数量算出の結果が狂ってしまい、コスト管理に影響が出ます。
Dynamo活用事例:重複箇所を「見える化」する
そこで活用するのが、Revitの自動化ツール「Dynamo」です。今回作成したツールを使うと、ワンクリックで足場モデルの重複チェックが可能になります。
実行前のモデルでは、どこが重複しているか見た目では全く分かりませんが、ツールを実行すると、重複している部分が「赤いボックス」に置き換わります。
(Dynamoで重複部材の削除まで実行することも可能ですが、今回は「意図しない削除」を防ぐため、あえて「赤いボックスに変換」してから、人が最終確認して削除する運用フローにしています。
実行前(下図)では重複があるかわからない状態ですが、

実行後(下図)では、重複箇所が赤いボックスで可視化されます。

壁に直面:標準機能だけでは難しい?
「重複した部材を見つけて、赤いボックスに置き換える」。
言葉にすると簡単ですが、これをDynamoの標準機能(最初から用意されているノード)だけで作ろうとすると、実は非常に複雑なパズルを組むことになります。 また、有志が公開している「パッケージ」を使う手もありますが、更新管理や社内配布の手間を考えると、あまり依存したくありません。
「もっと簡単に、自分たちでメンテナンスできる仕組みを作りたい」
そこで突破口となったのが、生成AIによる「ノーコード感覚」でのPython開発です。
外部パッケージへの依存や、長時間の学習コストをかけることなく、必要な機能を最短距離で実装することに成功しました。
実践:生成AIにコードを書かせてみる
ここからは実際に、生成AI(今回はGemini)を使って、「部材を赤いボックスに置き換えるプログラム」(※下画像の赤枠部分)を作成する手順を見ていきましょう。
Dynamoやプログラミングが分からなくても大丈夫です。「AIにどう指示するか」の流れをご覧ください。(※下画像の赤点線部分も同様に生成AIを活用して作成しています。)

① Dynamoの準備
まず、Dynamo上で以下の2つのノードを配置します。
Python Script: プログラムを書き入れるノード。今回はここにAIが書いたプログラムを入れます。
Watch: 結果やエラーを確認するためのモニターとなるノード。AIが書いたプログラムがうまく実行できているかどうかのチェックに使います。

② 入力データの設定
「Python Script」ノードで、「+」ボタンで入力項目を増やし、以下をつなぎ入れます。
IN[0]: 重複している部材のリスト
IN[1]: 置き換えたいファミリ(赤いボックス)

次に、「Python Script」ノードを右クリックし、「編集」をクリックしてPython Scriptの編集画面を開きます。

③ 生成AI(Gemini)への指示
最大のポイントとなるAIによるスクリプト作成です。
Gemini(またはChatGPTなど)を開き、以下のプロンプト(指示文)をコピーして貼り付けます。
※「思考モード」「Proモード」を推奨します。「高速モード」でも指示が整理されていれば問題ありません。
※まずはそのままプロンプトをコピーして貼り付けてみてください。プロンプトのポイントや指示の出し方のコツについては、後ほど「コツ」の章で紐解いていきます。
あなたはRevit APIとDynamoに精通したプログラマーです。
Dynamoの「Python Script」ノードの中身を書いてください。
### 目的
選択した要素(IN[0])を削除し、その「バウンディングボックス(形状範囲)の中心位置」に、指定した別のファミリ(IN[1])を配置し直すスクリプトが必要です。
### 入力データ
- IN[0]: モデル要素のリスト(壁や柱などの単体要素だけでなく、「グループ」が含まれる場合があります)
- IN[1]: 配置するファミリタイプ(FamilySymbol)
### 動作要件(重要)
Revit APIの一般的な作法に従い、以下の振る舞いをコード化してください。
1. **配置位置の計算**:
要素の挿入点(Location)ではなく、「形状全体の中心(BoundingBoxの中心)」を計算して、そこを配置位置としてください。
2. **グループの対応**:
IN[0]に「グループ(Group)」が含まれていた場合、グループそのものを置換するのではなく、グループ内の「構成要素(メンバー)」を取得し、その個々のメンバーに対して置換処理を行ってください。
3. **プロパティの継承**:
新しいファミリを配置する際、元の要素から以下の情報を引き継いでください。
- レベル(Level)
- 構造種別(元が構造柱なら柱、梁なら梁として配置。それ以外は構造以外として配置)
4. **ファミリの有効化**:
IN[1]のファミリタイプがまだアクティブでない場合、配置前にアクティブ化(Activate)してエラーを防いでください。
5. **削除処理**:
新しい要素を配置した後、元の要素を削除してください。削除に失敗した場合(既に消えている等)はエラーを出さずに無視してください。
6. **実行処理**:
トランザクション処理を含めてください。
### 出力 - 新しく配置した要素のリスト④ コードの貼り付けと実行
Geminiが出力したコードをコピーし、Dynamoの「Python Script」編集画面に貼り付けて「保存して実行」をクリックします。
※既存で記述してあるプログラムは全選択で上書きして貼り付けてください。

⑤ エラーが出たら?(対話による修正)
もしエラーが出ても慌てる必要はありません。
「Watch」ノードで表れたエラー結果について、右クリックし、「コンテンツをコピー」をクリックします。

コピーした内容を、再び「Gemini」に貼り付けると…

送信したエラーメッセージから「Gemini」が問題点と修正版コードを出力してくれます。

再びDynamoの「Python Script」編集画面に貼り付けて「保存して実行」をクリックします。

⑥ 完成!
「Watch」ノードを見ると重複確認用のボックスがしっかりと出力されていることが確認できました!

Revitの画面で確認しても、確かに赤いボックスが正しく出力できています。

コツ:AIへの指示は「マニュアル作成」と同じ
今回、非常にスムーズに目的の機能が作れました。
その勝因は、プロンプトで「手順」を明確に伝えたことにあります。
プログラミングが書けない私たちがAIにコードを書かせる時のコツ。
それは、「もし手作業でやるなら、どういう手順になるか?」を詳しく説明することです。
先ほどのプロンプトを振り返ると、以下のような「人間の思考手順」が含まれています。
・どの部材を、何に変換したいか?
・配置する場所は「中心」がいい。
・もし「グループ化」されていたら、中身を一つずつ処理してほしい。
・レベル(高さ設定)はズレないように引き継いでほしい。
これらは、普段私たちが無意識に行っている判断です。これを「新人スタッフへの操作マニュアル」を作るような感覚で言葉にすると、AIは迷わず正確なコードを返してくれます。
どこまで「人間」がやるべきか
いかがでしたでしょうか。 生成AIを活用することで、Dynamo単体ではハードルが高かった複雑な処理も、驚くほど簡単に実装できるようになりました。
では、どこまでを人間が考え、どこからAIに任せるべきなのでしょうか? 現時点(2026年1月)での私の結論は、「手作業の手順を言語化できる範囲」です。
人間が手順を説明できない(言語化できない)ことは、AIも理解できません。逆に、私たちが業務フローを正しく理解し、それを論理的に説明できれば、AIは最強のパートナーになります。 今回の事例でも、AIが混乱しないよう、あえて処理を3つのPythonノードに分割して実行するなどの工夫を行っています。
おわりに:ANDPADのAI活用について
実はアンドパッドでも、昨年末に「ANDPAD Stellarc」と題したAIプロジェクトを始動しました。
「個社固有課題のAIによる解決」や「AIによる建設業界のDX」を目指し、AIエージェントや積算AIなど、様々なソリューションを準備しております。ZEROでも、AIを活用したプロジェクトは水面下でも複数稼働しています。BIMグループでは、BIM作成や、現場BIM支援の手段として以前からDynamo活用による業務効率化を進めています。BIM x AI、Building Information x AIで課題を解決したい企業様、こんなプロジェクトに関わりたい個人の方、随時募集中ですのでご興味ある方は是非お問い合わせください!
それでは、今回はこの辺で。最後までお読みいただきありがとうございました!
