Model Derivative API の基本的な仕組み

現在の Forge が提供するソリューション で重要な役割を担っているのが、さまざまなデザイン ファイルの変換をおこなう Model Derivative API です。Viewer にストリーミング配信・表示する用途の変換だけでなく、一部、別のデザイン ファイル形式への変換処理も可能になっています。今回は、Model Derivative API の仕組みと変換後の要素について、簡単にまとめておきたいと思います。

Model Derivative APIは、ソースファイルをさまざまな形式の出力ファイル(派生データ)に変換します。 これらのファイルに関する情報(出力ファイルのURNや変換されたジョブの状態など)は、派生データに関する参照がマニフェストに格納されていて、それら参照から各種派生データやメタデータをダウンロードして取得すると、モデル内の個々のオブジェクト、その幾何学的表現、および、関連プロパティを識別することが出来ます。

次の表は、Model Derivative API を説明する上で重要な用語の定義です。
 
用語定義
ソース ファイル

(source file)

他のファイル形式に変換するために使用されたソース ファイルを指します。ソース ファイルは主にデザイン ファイルであることが一般的です。また、「シードファイル」と呼ばれることもあります。サポートされているファイル形式については、 Model Derivative API が提供する RESTful API、GET formats endpoint を参照してください。
派生データ

(derivatives)

ソース ファイルから変換された出力ファイル・データを指します。
マニフェスト

(manifest)

派生データのタイプと派生ファイルの URN など、変換されたジョブのステータスと派生データに関する情報の両方を保持する JSON コンテナです。Model Derivative API で変換処理をした際に生成されます。
メタデータ

(metadata)

ソース ファイルから識別可能な要素とプロパティを抽出するために使用されます。

変換 – Translation

開発者は、ソース ファイルをさまざまなタイプの出力ファイルに同時に変換できます。 各ソース ファイルの派生データへの参照は変換時に生成される 1 つのマニフェストに格納されているため、簡単に見つけることができます。 また、モデルの一部をジオメトリ ファイルに変換することもできます。

次のワークフローは、ソース ファイルを目的の出力タイプに変換する方法と、その派生データをダウンロードする方法です。

  1. GET formats endpoint を呼び出して、Forgeでサポートされている各ソース ファイル形式毎に変換可能なの最新リストを取得します。サポートされる変換に関する詳細は、Supported Translation Formats table を参照してください。

    注意:Forge で変換可能なリストには、適宜、新しいファイル形式が追加されています。

  2. POST job endpoint を呼び出して、ソースファイルを他の異なるファイル形式に変換(出力)します。

  3. GET :urn/manifest endpoint を呼び出して、変換処理が終了してダウンロードや参照が可能か否かをチェックすます。詳細は、下記の “変換ジョブ ステータス” セクションを参照してください。

  4. 変換処理が完了した場合には、GET :urn/manifest endpoint を呼び出して派生データの URN を取得します。

  5. GET :urn/manifest/:derivativeurn endpoint で各種派生データをダウンロードする URN を取得します。

変換ジョブ ステータス

POST job endpoint は非同期であり、プログラムの実行を停止するのではなく、バックグラウンドで実行されるジョブを開始します。POST job endpoint がジョブが正しく起動して  success レスポンスを返しても、 GET :urn/manifest endpoint を呼び出して非同期ジョブが完了しているかどうかをチェックする必要があります。

データ抽出 – Data Extraction

Model Derivative API は、ソース ファイルからメタデータを抽出するのに使用できます。メタデータは、階層ツリー内のオブジェクトと、そのプロパティとジオメトリを識別するために使用できます。 ほとんどの CAD アプリケーション(例:Fusion や Inventor)は、単一のオブジェクト  ツリーや設計モデルのプロパティ セットを持ちますが、いくつかのアプリケーション(例:Revit)は、ユーザが複数のオブジェクト ツリーやプロパティ セットを有するモデルを設計することを可能にするため、モデルのオブジェクト ツリーとプロパティ セットを「モデルビュー」と呼び、 複数のモデルビュー(例:HVAC、建築、パースビュー)を有するモデルは、各モデルビュー毎に異なるオブジェクトツリーとプロパティのセットを持っています。
../../../_images/model_2.png 
注意:このデータを抽出するには、デザイン ファイルを  POST job endpoint を使用してSVFファイルに変換する必要があります。

  • GET :urn/metadata endpoint は、モデルのメタデータに関する情報を提供します。
  • GET :urn/metadata/:guid endpoint は、選択したメタデータのオブジェクトツリーを返します。
  • GET :urn/metadata/:guid/properties endpoint は、特定のメタデータ ビュー内のオブジェクトとそのプロパティのフラット・リストを返します。

データ抽出についての詳細は、Step-by-Step Tutorials を参照してください。

By Toshiaki Isezaki 

 


Comments

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading