ODA製品でUniversal 3D (U3D) ファイルを読み込み、レンダリングするには、これらの種類のファイルを.prcファイルに変換することで利用できます。.u3dファイルの読み込みは、Intel®のUniversal 3Dサンプルソフトウェアライブラリを使用して実装されています。RHAdobeMesh、PointSet、LineSetオブジェクトを含むすべての種類のメッシュオブジェクト、およびマテリアルとテクスチャをインポートできます。ビューと照明オブジェクトのインポートはサポートされていません。
OdU3D2PrcImportモジュールは、U3D形式のファイルをPRCに変換するために使用されます。
…
//Load the U3D import module:
OdU3D2PrcImportModulePtr pModule = ::odrxDynamicLinker()->loadModule(OdU3D2PrcImportModuleName);
//Create the U3D importer object and check whether it was successfully created:
OdU3D2PrcImportPtr importer = pModule->create();
if(importer.isNull())
odPrintConsoleString(L"U3D Importer object creation failed!\n");
//Set import parameters using the properties() method of the importer object:
importer->properties()->putAt(L"Database", pFile);
importer->properties()->putAt(L"U3DPath", OdRxVariantValue(u3dName));
//Run the import() method of the importer object and analyze the returned value:
if(OdResult::eOk != importer->import())
odPrintConsoleString(L"import failed!\n");
…
OdU3D2PrcImportモジュールは一連のパラメータをサポートしています。これらのパラメータは、OdPdfImportクラスのproperties()メソッドを呼び出すことで読み取りおよび変更のために取得できる辞書オブジェクトに格納されます。各パラメータは、文字列で表されるその名前によってアクセスできます。
新しいパラメータ値を設定するには、辞書オブジェクトのputAt()メソッドを使用します。このメソッドは、パラメータ名とパラメータの新しい値という2つの引数を取ります。
インポートパラメータとそのアクセス名の完全なリストは、次の表に記載されています。
| インポートパラメータ | パラメータ名 | 説明 |
|---|---|---|
| インポート用データベース | Database | .u3dファイルの内容をインポートするOdPrcFilePtrオブジェクト。 |
| U3Dファイルパス | U3DPath | 入力.u3dファイルへのフルパス。 |
| 変換行列 | TransformMatrix | インポートされた.u3dファイルのすべての要素に適用される変換行列。 |
DatabaseおよびU3DPathパラメータは必須です。
OdU3D2PrcImportモジュールは、複数の.u3dファイルを1つの.prcファイルにインポートすることもサポートしています。下の図は、2つのU3Dモデルを1つの.prcファイルにインポートした結果を示しています。
ODA VizualizeにおけるU3Dサポート
ODA VizualizeにおけるU3Dサポートの例は、Prc2Visualizeモジュールに実装されています。以下の図で例を見ることができます。