建模器库负责处理 3D 模型。它用于读取和写入模型数据,创建新的模型对象(例如盒子、球体、拉伸体等),修改现有对象以及渲染对象。
ODA SDK 可与多种不同的建模器库配合使用。选项包括:
- AcisBuilder (ModelerGeometry.tx) — 作为基本的 ODA SDK 建模器提供,无需额外费用。
- Spatial ACIS® (SpaModeler.tx) — 商业第三方库,需单独购买。
- C3D (c3dModeler.tx) — 商业第三方库,需单独购买。
所有建模器都可以读取和写入 .sat 文件,并以线框和着色模式渲染模型。对于 ACIS 和 C3D 建模器,布尔运算和其他 3dSolid 方法也将起作用。否则,它们将返回“未实现”状态。
Spatial ACIS 完全支持 .sat 文件格式的所有曲面,并拥有最广泛的功能集。集成 3D ACIS Modeler 允许应用程序:
更多信息请访问 https://www.opendesign.com/members/marketplace/3d-acis-modeler-integration。
用于 ODA 产品的 C3D Modeler 是功能齐全的 C3D Modeler 的轻量级版本,它支持以下功能:
- 创建球体、盒子、平截头体、圆环体、楔形体、拉伸体、金字塔、放样实体、对象等。(通过 OdDb3dSolid 类中的方法提供。)
- 执行两个实体之间的布尔运算。
- 执行截面、切片、干涉检查等辅助功能。
更多信息请访问 https://www.opendesign.com/members/marketplace/c3d-modeler-teigha。
AcisBuilder 尚不支持路径扫掠、布尔运算、圆角以及其他一些高级操作。但它正在持续开发中,这些功能计划在未来的版本中发布。
您可以在 OdaMfcApp 示例应用程序的“MODELER GEOMETRY”命令组中使用一些建模器命令。只需加载 ModelerCommands.tx 模块即可。
AcisBuilder 是使用 ODA Kernel SDK 构建的。如果您想使用 Spatial 或 C3D 建模器,请在 Project Generator 中勾选相应的复选框:
在 OdaMfcApp 中,您可以通过“工具”->“加载应用程序”对话框选择建模器。首先,从列表中选择当前使用的建模器并点击“卸载”来卸载它。这只有在您尚未执行渲染的情况下才可能,否则模块将被引用并锁定。然后点击“加载”并选择您想要使用的建模器。
您可以使用以下代码更改当前使用的建模器:
odrxDynamicLinker()->unloadModule(OdModelerGeometryModuleName);
// Try to load SpaModeler.tx
OdRxModule* pSpaModule = odrxDynamicLinker()->loadModule(OdSpaModelerModuleName);