BIMを加速させる!Autodesk Dynamoとは?

出典:About | The Dynamo Primer

「Autodesk Dynamo」はビジュアルプログラミングプラットフォームです。

Revitに無償でバンドルされ、各社各プロジェクトに応じたツールを自作できることから近年日本でも再注目されています。

いくつかの種類があり、いずれもプログラミング未経験者が理解しやすい視覚的なインターフェースを持っていることが特徴です。

プログラミングの一種となりますので用途は限定されておらず、手放せない仕事道具になるか無用の長物になるかはユーザーの技量次第です。

Dynamo活用事例の記事はWEB上に増えてきましたが、用途が限定されていないデジタルツールであるためにかえって全体像が掴みにくいという性質があります。

そこで、「最近よく聞くけどそもそもDynamoって何?聞いたことはあるけど。。。」という方に向けて「Autodesk Dynamo」の概要を紹介します。

記事を書いている人とこのサイトで大切にしていることは下記ページをご覧ください。
BIM Manager's Garage | このサイトについて

TL;DR

  • Dynamoはノードとワイヤにより構成される視覚的な実装を行い、自らツールを作成・配布することができる。
  • Dynamoには無償のサンドボックス版「Dynamo Sandbox」とそれぞれのAutodeskアプリケーションに特化したDynamoアドインがあり、代表的なDynamoは「Dynamo Revit」。
  • Dynamoはプログラミングツールの一種であり用途は限定されていないが、ワークフローの自動化には大きなアドバンテージがある。
  • BIMにより扱うデータの膨大さから、手動・目視による作業でプロジェクトに求められる速度と品質を維持するのは限界がある。今後はある程度のプログラミングができることは当たり前の社会になっていくことが予想される。

どんなユーザーインターフェース?

Revitの標準ツールによる操作がクリックによる目視操作であり、各標準ツールごとに使用方法が異なるのに対して、Dynamoはすべての実装についてノードと呼ばれるコンポーネントにワイヤを繋げて処理順序と関係性を指定します。

1つのノードが関数になっており、入力ポートと出力ポートを持ちます。あるノードからの出力を別ノードの入力として利用することで、逐次処理を実現します。

ほとんどのノードはこのような部分を持っていますが、様々な派生があります

ノードは標準で搭載されているものとユーザーが自作するものがあり、標準ノードだけでも相当数が用意されています。

Dynamoノードが整理されている「Dynamo Library」の一部

一連のワークフローを単純なプロセスの集合として柔軟に実装できるのが大きな特徴で、Revitの標準ツールとして用意されていないツールであっても、Dynamoスクリプトを実装することでツールを自ら作成することができます。一度作成したDynamoスクリプトは再利用することが可能です。したがって、Dynamoで作成したツールは複数ユーザーで使い回すことができます。

どんな種類がある?

Dynamoにはいくつかの種類があり、特定のホストアプリケーションと強く結びついて機能するアドイン版と、単体で動作するサンドボックス版「Dynamo Sandbox」に大きく分かれます。

以前はスタンドアロン版として販売されていた「Dynamo Studio」は、2021年6月に販売を終了しています[1]

アドイン版の代表的存在である「Dynamo Revit」は、Revit 2020からホストアプリケーションであるRevitにバンドルされ、Revitの標準機能をDynamoで実行することが容易となるノードが用意されています。

出典:Dynamo | Get Dynamo

本稿執筆時点では、以下のAutodeskアプリケーションで動作するDynamoアプリケーションが提供されています[2]

  • REVIT
  • Civil 3D
  • ALIAS DESIGN
  • FORMIT
  • ADVANCE STEEL
  • ROBOT STRUCTURAL ANALYSIS
Dynamoを知っている人達の話を聞くと、どうやら単に「Dynamo」といった場合は「Dynamo Revit」をイメージされる方が多いようです。

RevitとともにインストールされたDynamoはDynamoSandboxとしてスタンドアロンで利用可能です。Revitがインストールされた端末の下記フォルダに格納されています。

  • C¥Program Files¥Dynamo¥Dynamo Core
「Autodesk Revit」は世界中で圧倒的なシェアを持つ汎用BIMオーサリングツールです。Revitの概要や操作方法についてはWeb上に多数の記事が存在していますので、本稿では割愛します。

Dynamo SandboxとDynamo Revitの違いは大きく以下の3点です。

  • BIMモデルの要素やパラメータを操作するためのRevit APIを使用したノードはDynamo Revitでしか使えないが、それ以外の機能は同じ。PythonやExcel連携もDynamoSandbox上で実行可能。
  • Revitのバージョンに対応したDynamo Revitのバージョンは近年では固定であり、 Revitのバージョンと独立してDynamo Revitのバージョンをアップデートすることは基本的にできない。
  • Dynamo Sandboxは無償で最新版が提供されており、利用可能。
最新版のDynamo Sandboxは下記の公式Webページからダウンロード可能です。
Dynamo | Get Dynamo

何ができる?

Dynamoの用途は限定されていませんが、以下の用途で使用されることが多いです。

  • ワークフローの自動化(RPA:Robotic Process Automation)
  • アプリケーション間の連携
  • BIMモデルの分析とレポート出力
  • コンピューテーショナルデザイン

特に「ワークフローの自動化」についてはおよそ97.7%の稼働を削減した例もあり[3]、Revit標準ツールを使用した手動・目視による作業と比較して圧倒的なアドバンテージがあります。

Dynamoに標準ノードとして用意されている「Python Script」を使用することでRevit APIにアクセスすることが容易に可能です。

したがって、Revitの標準機能で可能な作業のほとんどはDynamoでも可能です。

Revit APIのインポートはパスを指定せずに可能

なぜプログラミングが必要?

「RevitやアドインでできることをわざわざDynamoで行う必要はないのでは?プログラミングとなると作業プロセスがブラックボックス化するし、使用できる人材を確保するのも難しくなるのではないか」と思われる方がいるかもしれません。

BIMに関する作業では図面に現れない設定や属性、時系列のデータも含めて入力を行うため、CADと同じ方法でBIMデータの作業を扱おうとすると(Revitで図面作成のみを行う場合を除き)CADによる場合よりも稼働が増加します。

増加した稼働は増員により解決できるかもしれませんが、人が作業を行う以上は作業量に比例してケアレスミスが生じる可能性が高まるのは避けられません[4]

単一のBIMモデルにも膨大なデータが格納されている

Dynamoはビジュアルプログラミングですので、コードによるプログラミングと比べてロジックが分かりやすくデバッグも容易です。したがって、Dynamoを使用することでむしろプロセスの明確化を促し、ブラックボックス化を防ぐことができます。


2025年1月に実施する大学入学共通テストでは、一定レベルのプログラミングの知識が求められることが決定していますので[5]、今後はある程度プログラミングができることが当たり前の世の中になっていくでしょう。

Revitをコアアプリケーションとしたアドインは数多く提供されていますが、自社のワークフローに応じて柔軟に選択できるほど潤沢な種類は存在しないのが現状です。ベンダーの都合で急にアドインが提供されなくなるということもあります。

以上の事情が折り重なり、BIMへの注目の高まりに比例してAutodesk Dynamoが非常に注目されています。

当サイトではDynamoを使用するうえで行き詰まるポイントを中心にTips & Tricksを紹介する予定です。

脚注

  1. AUTODESK | Dynamo Studioに関するよくある質問
  2. Dynamo | Get Dynamo
  3. Parametric Monkey | Improving operational effectiveness with Dynamo
  4. ウィキペディア | Don’t repeat yourself
  5. 大学入試センター | 令和7年度以降の試験に向けた検討について

コメント