ODA Drawings SDK を使用した JSON 形式へのエクスポート

JSON形式のデータが必要ですか? ODA Drawing SDKは、データベースのビューからJSON形式にデータをエクスポートできます。この形式は、Three.jsというJavaScriptライブラリを使用して適用されます。

TD_THREEJSJSON_EXPORT名前空間からDrawings SDKのThreejsJSONModuleクラスを使用します。

OdResult exportThreejsJSON(OdDbBaseDatabase *pDb, OdStreamBuf *pOutStream, const ODCOLORREF &background, bool bFacesEnabled = false);

入力パラメータ:

  • background – シーンの背景色。
  • bFacesEnabled – trueの場合、pDbは面付きでJSONにエクスポートされ、それ以外の場合は線と点のみでエクスポートされます。

出力パラメータ:

  • pOutStream – 出力ストリーム(ファイルストリーム、メモリストリーム)。

戻り値:

  • eOk (成功時) または OdResult エラーコード。

メソッドの結果が eOk の場合、pOutStream には4つのオブジェクトを含むJSON形式のテキストが含まれます:

  • メタデータのJSONオブジェクト。
  • 点、線、メッシュのマテリアルのJSON配列。
  • データの配列を持つジオメトリのJSON配列。点と線のジオメトリには頂点と空の面配列が含まれます。メッシュのジオメトリには頂点、法線、色、面配列が含まれます(配列の数は、ビットマスクを含む面要素の最初のインデックスに依存します)。
  • ルートノードにシーンオブジェクトを持つシーングラフなどのオブジェクトのJSON配列。このツリーの第2レベルには、デフォルトタイプがObject3Dのカメラとレイヤーが含まれます。カメラオブジェクトにはライトオブジェクトが含まれる場合があります。レイヤーには、デフォルトタイプがObject3Dの点、線、メッシュ、またはメタファイルオブジェクトが含まれる場合があります。これはプリミティブ型オブジェクトのルートノードです。

Three.js JSON形式に変換する際の欠点は、元のオブジェクトに複数のカメラオブジェクトがある場合に発生します。カメラの行列を使用してオブジェクトの座標を変更することは不可能です。

JSON形式では、データセットはシーングラフとジオメトリおよびマテリアルの配列とともに保存されることを忘れないでください。レイヤーでの表示やオブジェクトの種類の無効化(たとえば、面をメッシュまたはアイソラインとして表示する)は、JavaScriptで設定する必要があります。

次の例は、ODA Viewerで開かれ、Three.js JSON形式に変換された2Dおよび3Dオブジェクトを示しています。

ODA Viewerでの2Dオブジェクト:

image1

Three.js JSONでの2Dオブジェクト:

image2

ODA Viewerでの3Dオブジェクト:

image3

Three.js JSONでの3Dオブジェクト:

image4

 

今すぐ始める

ODAソフトウェアを60日間無料でお試しください。
リスクなし、クレジットカード不要。

無料で試す