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() 方法,该方法需要两个参数:参数名称和参数的新值。
导入参数及其访问名称的完整列表在下表中描述。
| 导入参数 | 参数名称 | 描述 |
|---|---|---|
| 用于导入的数据库 | 数据库 | 一个 OdPrcFilePtr 对象,用于导入 .u3d 文件的内容。 |
| U3D 文件路径 | U3DPath | 输入 .u3d 文件的完整路径。 |
| 变换矩阵 | TransformMatrix | 一个变换矩阵,将应用于导入的 .u3d 文件的所有元素。 |
Database 和 U3DPath 参数是强制性的。
OdU3D2PrcImport 模块还支持将多个 .u3d 文件导入到一个 .prc 文件中。下图显示了将两个 U3D 模型导入到一个 .prc 文件中的结果。
ODA Vizualize 中的 U3D 支持
ODA Vizualize 中 U3D 支持的一个示例在 Prc2Visualize 模块中实现。您可以在下图中看到一个示例。