Application Programming Interface(API)の主要な役割の 1 つにタスクの自動化があります。
対象となるタスクの多くは手動操作で実施している単純作業なので、生産性の向上が課題になり、さまざまな条件や規則を与えて自動化を目指すようになっていきます。
API を使った自動化では、真っ先にプログラミングを考えてしまいます。ただ、すべての人にプログラミングの知識を求めるのが現実的ではありません。
そこで、最近では、ローコード(Low Code)、ノーコード(No Code)ソリューションといった言葉とともに、プログラミング作業を極力排除した方法も散見されるようになっています。
Revit カスタマイズでビジュアル プログラミングを実現する Dynamo は、ローコード ソリューションと言えるでしょう。Dynamo では、C++ や C#、JavaScript などの「プログラミング言語」使わずにタスクを自動化することが出来ます。
また、一般的なノーコード ソリューションでは、定型化されたテンプレートを使用して、ドラッグ&ドロップなどの簡単な操作でワークフローを自動化します。例えば、Microsoft Power Automate では、沢山用意されてるテンプレートから、タスクにあったものを選んで条件を設定するだけです。
今回は、最終的に「粒状データ」の効果を感じていただけるよう、まず、Power Automate を使った自動化とはどのようなものか、といったところからご紹介していきたいと思います。
現在、オートデスク社内では、クラウドストレージとして OneDrive for Business を利用しています。社内でファイルを共有したり、ドキュメント管理する際にとても重宝しています。
ただ、複数の関係者間で共有フォルダを利用していると、フォルダ内容について、どのようなファイルがアップロードされているのか「共通認識」を持したい、といった場面にしばしば遭遇します。そこで、誰かがファイルをアップロードしたら、関係者に通知メールを送りたいと考えます。ところが、同自動化していいかわかない、そんな状況を考えてみます。
例えば、特定の共有フォルダ test にファイルがアップロードされたらメール通知が欲しい、と仮定してテンプレートを探します。共有フォルダ test を作成したら、ワークフローの自動化を定義していきます。「自動化」>>「フローの作成」を選択して目的にあったテンプレートを見つけていきます。
「その他のテンプレートを表示」を選択すると、さまざまなカテゴリ別にテンプレートが表示されます。検索ボックスでキーワード検索を利用することも出来ます。
「OneDrive for Business に新しいファイルが追加されたときにメールを送信する 」テンプレートが目的にあっているようなので、テンプレートを選択して条件を設定します。
誰にメール通知するのか、どのような通知内容にするのか、などの条件を保存すると、共有フォルダ test にファイルがアップロードされるたびに、通知メールを受け取れるようになります。プログラミング言語を使って自動化プログラムを作成するようなことはしていません。
Power Automate には、オートデスクが用意した Extract data on exchange modification テンプレートも用意されています。
このテンプレートを使うと、なぜインダストリー クラウドなのか? でもご紹介した粒状データを利用して、Autodesk Construction Cloud(ACC)にアップロードされた Revit プロジェクト ファイル(.rvt)から、必要な情報のみを抽出、指定した Excel テーブル(表)に書き出すことが出来ます。
このテンプレートには、Revit ファイルから粒状データを抽出する Autodesk® Data Exchange Connector for Power Automate が利用されています。言うまでもなく、この Connector(コネクタ)は Autodesk Platform Services(旧名 Autodesk Forge)の Data Exchange API [Beta] を使って作られているものです。
Power Automate では、テンプレートを使わずに、各種コネクタを活用して、独自のワークフローを作成することも出来ます。
先の Data Exchange Connector(データ交換コネクタ)を利用したカスタム フローの作成方法も、BUILD Help | Populate Excel with Data Exchange Properties | Autodesk で紹介されています。また、Microsoft 側のドキュメント(Autodesk Forge Data Exchange - Connectors | Microsoft Learn)にも詳細な記載があります。
Data Exchange API がベータ版扱いであるため、まだ「プレビュー」の位置づけになりますが、ファイル単位ではない粒状データの利点を把握していただけるはずです。
Power Automate のカスタム フロー作成手順が長くなってしまうので割愛しますが、BUILD Help | Populate Excel with Data Exchange Properties | Autodesk の内容に沿って Data Exchange(デーや交換)を作成ておけば、ACC へのアップロードの度に(新しいバージョン毎に)、 作成した Data Exchange(データ交換)、すなわち、粒状データから、指定したデータのみを OneDrive 上のフォルダにある Excel テーブルへ自動的に書き出すことが出来るようになります。
現在、Data Exchange(データ交換)の作成には、ACC のアプリ ギャラリーから「Power Automate」アプリを有効化して、ビューア上から「データ交換を作成する」を実行が必要になります。なお、アプリ ギャラリーの操作には Account Admin 権限が必要です。
OneDrive 上のフォルダにある Excel テーブルに書き出す実際のフローは、次のようになります。(BUILD Help | Populate Excel with Data Exchange Properties | Autodesk に沿って作成)
ACC 上に新しいバージョンがアップロードされると、ビューやシートの抽出処理が始まります。Data Exchange(データ交換)を作成したビュー内の要素に変更があると、作成したデータ交換(粒状データ)が自動的に更新されて、粒状データの更新をトリガに Excel テーブルに指定したデータが書き出されていきます。
Revit プロジェクトは幾何情報を持つデータベースと言えるので、その内容は膨大なものです。言うまでもなく、特定の情報を人的手動操作で抽出するのは大変な労力が必要になります。粒状データを利用することで、ファイルをいちいち開かなくても、このような自動化を達成することが出来るようになります。今回、ご紹介した Power Automate は一例です。
Autodesk Platform Services(旧名 Autodesk Forge )では、粒状データを使ったツール間のコミュニケーション用に Data Exchange API(現段階で外部の 3rd party 用途ではベータ版扱い)が用意されています。この API を使って特定の幾何情報をコラボレーションに利用する機能が、Revit 2023 ー ACC - Inventor 2023 の間で既に実現されています。
Data Exchange API を使うと、特定のデータを扱えるようになります。Revit と McNeel Rhino® 間のコネクタ(ベータ版)も Data Exchange Connector for McNeel Rhino® Now in Public Betaでアナウンスされています。
データ交換という視点では、上記、Revit ⇔ PoweAutomate、Revit ⇔ Inventor、Revit ⇔ Rhino のいずれのケースも、従来からあるデータのエクスポート(書き出し)/インポート(読み込み)機能と同じように見えてしまうかもしれません。ここでご注目いただきたいのは、「どのファイルを書き出し/読み込むか」ではなく、「どのデータを書き出し/読み込むか」になっている点です。
データに着目した共通プラットフォーム、Autodesk Platform Services の採用が進んでいくと、プログラミング言語を使って コネクタを開発する開発者だけではなく、プログラミング知識のない利用者のも利点が生まれるわけです。必要なデータのみを扱うカスタム ワークフローの作成したり、AI に機械学習させるデータ リソースとして活用したりするなど、従来と違った自動化につながっていくことも想像に難くありません。明らかに「データ」の活用の幅が広がります。
今後、さまざまなツールやソフトウェア、クラウド サービス用に、粒状データを利用したコネクタが増えていくよう期待したいところです。
By Toshiaki Isezaki
コメント