オートデスクはファイル形式に依存しない オートデスク プラットフォーム – Design & Make(デザインと創造)プラットフォーム の実装を進めています。オートデスク プラットフォームは、建設業向けの Autodesk Forma、製造業向けの Autodesk Fusion、メディア エンターテインメント向けの Autodesk Flow で構成されるので、「インダストリークラウド」とも呼ばれています。

デザイン ファイルから抽出した情報を グラフデータベース で管理するインダストリークラウドでは、個々の情報を「粒状データ」として扱います。API を使用する開発者目線では、Autodesk Platform Services の Autodesk Data Model API を使用して粒状データにアクセスすることになります。
インダストリークラウドのデータモデルは、Autodesk Platform Services の Autodesk Data Model 上に構築されていて、業種別に、建設業向けの AEC Data Model、製造業向けの Manufacturing Data Model(MFG Data Model)、メディア・エンターテイメント業向けの M&E Data Model で構成されていて、それぞれインダストリークラウドの Autodesk Forma、Autodesk Fusion、Autodesk Flow に対応しています。

各データ モデルへのアクセスで利用するのが、従来、Autodesk Platform Services(旧 Forge)で利用されていた RESTful API(REST API)に代わる GraphQL です。粒状データを使ってデータ交換をおこなう Data Exchange も含め、各データモデルの GraphQL をテストする目的で Data Explorer と名付けられたツールが用意されています。

Data Explorer については、以前、GraphQL の記事で触れたことがありますが、大幅に機能拡張されているのと、新たに AEC Data Model 用の Data Explorer も追加されているので、改めてご紹介しておきたいと思います。(M&E Data Model は実装中のため Data Explorer の公開がまだありません。)
上記、Data Explorer の実装は Data Model 毎に少しづつ異なります。ただし、ベースに使用しているのはオープンソースの GraphiQL で共通です。GraphiQL のコードは GraphiQL & the GraphQL LSP Reference Ecosystem for building browser & IDE toolsリポジトリ で公開されています。
Data Explorer のユーザーインタフェース
MFG Model Explorer を例に基本的なユーザーインターフェースと基本的な使用方法をご紹介します。

① プリセットされた GraphQL クエリー
② 実行する GraphQL 構文
③ 実行する GraphQL 構文内で参照される変数(JSON 形式)とリクエストヘッダー
④ GraphQL の実行(送信)
⑤ クエリーやミューテーション内容を確認するドキュメントリンクを表示
⑥ カラーテーマの変更とローカルキャッシュのクリアを指定する設定を表示
⑦ サインイン/サインアウト
⑧ GraphQL Voyager – スキーマ ヘルプを表示(MFG Data Explorer のみ)
⑨ リクエストに対するレスポンス(JSON 形式)の表示領域
基本的な使用方法
現時点では、Manufacturing Data Model のデータは Fusion Team に、AEC Data Model のデータは Autodesk Construction Cloud に、Data Exchange のデータは Autodesk Construction Cloud に作成した Exchange Item にアクセスすることになります。このため、APS アプリである Data Explorer が同データにアクセスするには、ユーザーによる 3-legged 認証・認可を受ける必要があります。まずは ⑦ でデータにアクセスするユーザー アカウントでサインインする必要があります。ここいうユーザー アカウントとは、Fusion 360 で利用している Fusion Team にアクセス可能な Autodesk ID(オートデスク アカウント)を指します。
サインインが完了してアプリがアクセスすることを認可したら、Fusion 360 で日頃利用している Hub を確認しておきます。

MFG Model Explorer で ① のタブの中から「GetHubs」タブをアクティブにして、④ の実行ボタンをクリックして ② にプリセットされている GraphQL クエリーを実行してみましょう。⑨ に サインインしたアカウントがアクセス可能な Hub の一覧が表示されるので、Fusion 360 上で確認した Hub 名を持つ Hub ID を Ctrl+C キー操作でクリップボードにコピーするか、メモ帳に書き留めておきます。

次に、① のタブの中から「GetProjects」タブをアクティブにして、③ の「Variables」にプリセットされている変数 hubId の値 “yourhubid” の部分を、先にコピーしておきたクリップボードから Ctrl+V キー操作で貼り付けるか、書き留めておいたメモ帳などから上書きして GraphQL クエリーを実行すると、⑨ にプロジェクト一覧を含む レスポンスが表示されます。

実行した GraphQL 構文の内容を把握したいっ場合には、⑤ のアイコンをクリックすることで情報を得ることが出来ます。例えば、GetProjects タブで実行したクエリーは、「Query」>>「projects」の順でリンクをクリックして、簡易的な内容を表示することが出来ます。

もちろん、従来通り、APS ポータル上で該当する GraphQL リファレンスにアクセスして、詳細を得ることも可能です。

GraphQL Voyager
MFG Model Explorer の ⑦ で表示するオープンソースの GraphQL Voyager を使うと、Introspection(イントロスペクション)クエリーを実行させて MFG Model Explorer が使っている Manufacturing Data Model の GraphQL スキーマを検査して、グラフの相関関係をグラフィカルに表示させて内容を理解することが出来ます。
GraphQL Voyager を表示させたら、ページ左上の [CHANGE SCHEMA] をクリックします。

[INTROSPECTION] タブをアクティにしたら、[COPY INTROSPECTION QEURY] をクリックして、イントロスペクション クエリーの内容をクリップボードにコピーします。

MFG Model Explorer に戻って、① の一番右にある <intitled> タブをアクティブにしたら、② の GraohQL 構文の領域に、Ctrl+ V キー操作でイントロスペクション クエリーを貼り付けます。貼り付けると同時に <intitled> タブ名が IntrospectionQuery に変わります。④ で実行させると、検査結果のレスポンスが ⑨ の領域に表示されるので、Ctrl+A キー操作 レスポンス全体を選択して、Ctrl+C キー操作で内容をクリップボードにコピーします。

GraphQL Voyager に戻り、[INTROSPECTION] タブの「Paste Introspection Here」欄に Ctrl+ V キー操作で内容を貼り付けて [DISPLAY] をクリックすます。

グラフの相関関係が表示されたら、マウスホイールで Manufacturing Data Model GraphQL が持つオブジェクトを拡大縮小させながらフィールドをクリックして、関係を追跡していくことが出来ます。

By Toshiaki Isezaki

You must be logged in to post a comment.