Dynamo(ダイナモ)とは? RevitやCivil 3Dで自動化を実現

Dynamoの基礎・メリット・デメリットを徹底解説

Autodesk RevitやCivil 3Dに標準搭載されている「Dynamo(ダイナモ)」は、追加ライセンス購入不要で無料で使えるビジュアルプログラミングツールです。ノードと呼ばれる箱をつなげるだけで、プログラミング初心者でも簡単にプログラムを作成できます。

BIMやCIMのモデリング作業は、従来のCADより多くの工数が掛かります。Dynamoを使用することで自動化を実現でき、効率化を測ることが可能です。本ページでは「Dynamo」の情報をまとめ、徹底解説します。

Dynamoはビジュアルプログラミングツール

従来のプログラミングとDynamoによるビジュアルプログラミングの画面

Dynamoは、プログラミング経験の有無にかかわらず、誰でも簡単に使用できることを目的として開発されたビジュアルプログラミングツールです。同じようなツールでは、RhinocerosのGrasshopperが有名です。

今まではソフトウェアを開発する際、プログラマーが複数のプログラミング言語の知識を用いてコードを書く必要がありました。ソースコードを書いて、ビルドして、ロードして……と、手間が掛かりますので、どうしても開発期間やコストが掛かってしまいます。

それに対してDynamoでは、「ノード」と呼ばれる、事前に用意された関数を配置して、ノード同士を線で結びつけるだけでプログラムを作成することができます。ノードとノードのつながりがビジュアルで理解できますので、プログラミングの知識がない方でも比較的簡単にプログラムを作成できます。

Dynamoには、作成するDynamoと実行するDynamo Playerがある

Dynamo

Dynamoは作成したプログラムをファイルに保存でき、通常のデータと同じように、ほかの人と共有できます。

Dynamo Player

Dynamo Playerは、作成済みのDynamoプログラムをワンクリックで実行する機能です。Dynamo Playerを操作する人は、プログラムの中身がどのように組み立てられているか知ることなくプログラムを実行できます。

例えば、BIM推進チームが作成したDynamoプログラムを社内で共有して、設計部がDynamo Playerで実行するといった運用が可能です。

Dynamoで作成したプログラムをPlayerで実行する

Dynamoで実現できる具体的な効果とは?

RevitやCivil 3Dでの作業において、下記のような課題をお持ちではないでしょうか。

  • 単純なデータ入力が多い。
  • 同じようなルーティンワークが多い。
  • 人によって操作スキルがバラバラで成果物の品質が安定しない。

Dynamoを活用すれば、作業を自動化することで時間や労力を削減し、効率化が図れます。汎用(はんよう)的なプログラムを作成することで、類似プロジェクトに展開できます。また、プログラムを社内で共有すれば、Dynamo Playerで実行することで誰でも同じ品質の結果を得られます。

  • タスクの自動化による効率アップ
  • ルーティンワークの自動化
  • 同じ品質と結果を得られる

Dynamoの利用パターンとは?

Dynamoにはさまざまな機能がありますが、具体的にどんなことができるのでしょうか。

Dynamoの利用パターン

上図のように、主に六つの利用パターンあると言われています。もちろん六つのパターンは単独で構成されておらず、それぞれを組み合わせてRevitやCivil 3Dの構成情報をコントロールします。

例えば、Revitで配置されているファミリの属性情報を取得し(A)、Excelに書き出す(C)。そしてExcelで修正したデータをRevit側に戻し(C)、特定の情報が入っているオブジェクトのみを着色して表示する(B)といった具合です。

具体的な事例は、ページ下部ある関連情報よりご確認ください。実際に動作をしている動画も掲載していますので、ぜひご覧ください。

Dynamoを始めるには?

ここまで読んでいただくと、「ちょっとDynamoを使ってみたい!」と思った方がいるのではないでしょうか。

しかし、「Dynamoの始め方が分からない」「Dynamoの使い方が分からない」そういった方へ基本操作の学習方法をご紹介します。

「Dynamo Primer」を利用した自己学習

Dynamo Primerは、オートデスクのMatt Jezyk氏とDynamo開発チームによって開始されたオープンソースプロジェクトです。Dynamoの基本情報を共有することを目的としており、継続的に更新されています。

Primer for v2.0

「Dynamo スタートアップサービス」を利用した講習会による学習

Dynamoスタートアップサービスfor Revit・for Civil 3D

Dynamo スタートアップサービスとは、Dynamoの基本操作をひと通り学んだ後、演習としてサンプルプログラムを実際に作成できるという講習内容になっています。

大きく建築編、土木編に分かれており、それぞれ業種に合わせた演習プログラムを選定しています。1コース当たり半日で学習できるボリュームで、初めて触れる方に最適な講習です。

  • 建築編:Dynamo スタートアップサービス for Revit
  • 土木編:Dynamo スタートアップサービス for Revit
  • 土木編:Dynamo スタートアップサービス for Civil 3D

詳細は次のリンクをご確認いただき、お気軽にご相談ください。

Dynamo スタートアップサービス

Dynamoをより活用し、実業務に生かしたい場合は?

Dynamoでのビジュアルプログラミングの基本操作が理解できたら、実際にプログラムを構築し、業務の効率化に取り掛かりましょう。プログラムを構築するうえで役立つ情報を記載します。

「Dynamoフォーラム」で質問する

Autodeskにはソフト使用方法やトラブルなどがあった場合、質問ができるインターネットフォーラムがあります。不明点があった場合は質問してみましょう。

「Dynamo 実践支援サービス」でエンジニアに相談する

大塚商会では「Dynamo 実践支援サービス」を準備しており、お客様の業務内容に合わせたDynamoプログラム作成をサポートしています。実用的なDynamoサンプルを作成し、Dynamoで自動化が可能な業務を顕在化して、業務の効率化が図れます。

Dynamo 実践支援サービスのサポートの流れ

  1. 要件のヒアリング

    お客様:インプットデータ、アウトプットデータをご準備いただきます。
    大塚商会:要件をヒアリングさせていただきます。

  2. Dynamoサンプル作成

    大塚商会:ヒアリング結果に基づいてDynamoサンプルを作成します。

  3. レビュー

    お客様:Dynamoサンプルをご確認いただきます。
    大塚商会:課題や質問事項を洗い出しを行います。

  4. Dynamoサンプル修正

    大塚商会:Dynamoサンプルを修正します。

  • * レビューとDynamoサンプル修正を繰り返し、ワーキンググループ活動を行います。

詳細は次のリンクをご確認いただき、お気軽にご相談ください。

Dynamo 実践支援サービス

Dynamoプログラムは、Pythonで拡張可能

Dynamoのノードだけでは実行できない、より発展的な機能拡張が必要な場合には、Pythonスクリプトを書くという手法が提供されています。Pythonは、プログラムの読みやすさに加えて実用的で高い拡張性を備えたオープンソースのプログラミング言語です。

Dynamoでは、下図のような「Python Script」ノードで編集を実行し、表示される専用画面でPythonスクリプトを書いてRevit、Civil 3D、AutoCADのデータを直接操作することができます。

DynamoはPython Scriptで機能拡張が可能

例えば、同じ処理を繰り返し実行・計算を行うようなプログラムの場合、Dyanmoのノードで書くと必要な回数だけノードを配置する必要がありますが、Pythonスクリプトであればfor文を使ったループ処理を書くだけで済みます。実際には、RevitやCivil 3DのAPI Referenceを参照しながらプログラムを書く必要があるため、プログラミング経験のある上級者向けの拡張機能となっています。

DynamoでのPythonスクリプトに興味がおありでしたら、以前当社で開催したセミナー動画をご視聴ください。

Dynamo中級~上級編

Dynamoのデメリット、ビジュアルプログラミングは限界もある?

さて、ここまで「素晴らしい」と紹介したDynamo、比較的簡単に作成でき、直観的にプログラミングができますが、デメリットもあります。

通常のAPIなどと比べると、コントロールできる機能に制限があり、動作の応答性(処理速度)も劣ります。運用規模を広げたい場合や利用者から応答性で不満が出た場合は、APIを使用した「カスタマイズ(開発)」を視野に入れ、ご検討ください。

Dynamoにも不得手があるカスタマイズで解決

大塚商会では「システム開発/カスタマイズサービス」の請負業務も展開しています。詳細は次のリンクをご確認いただき、お気軽にご相談ください。

システム開発/カスタマイズサービス

Dynamoとは? まとめ

  • Revit・Civil 3Dに標準搭載されているビジュアルプログラミングツール
  • プログラミング言語の知識がなくても直感的にカスタマイズができる。
  • マウス・キーボード操作による単純作業を自動化することで効率アップ。
  • プログラムの中身を理解していなくても熟練者のテクニックを再現できる。

関連情報

サービス

動画で分かるDynamo

Dynamo 事例

BIM・CIMの導入に役立つ情報