モデラーライブラリは、3Dモデルを扱う役割を担っています。モデルデータの読み書き、新しいモデルオブジェクト(例えば、ボックス、球、押し出しなど)の作成、既存オブジェクトの変更、およびオブジェクトのレンダリングに使用されます。
ODA SDKsは、いくつかの異なるモデラーライブラリで使用できます。オプションは次のとおりです。
- 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モデラーは、フル機能のC3Dモデラーの軽量バージョンであり、以下の機能をサポートしています。
- 球、ボックス、錐台、トーラス、ウェッジ、押し出し、ピラミッド、ロフトソリッド、オブジェクトなどを作成します。(OdDb3dSolidクラスのメソッドを介して利用可能。)
- 2つのソリッド間でブール演算を実行します。
- セクション、スライス、干渉チェックなどの補助機能を実行します。
詳細については、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);