ODAのBIMRv SDKの要素は通常、GElementに一連のジオメトリを持っています。ジオメトリは、異なるルールに従ってベクトル化中に選択されます。ジオメトリを収集する最も簡単な方法は、OdGiGeometrySimplifierを使用することです。これはレンダリング出力に使用され、ビューでレンダリングされるすべての要素の簡略化されたジオメトリを収集できます。
ODAは、いくつかの関連するBIMRvサンプルアプリケーションを提供しています(ODAドキュメントへのログインが必要です):
- OdBmGetGeomEx — 指定されたファイルから指定された要素のジオメトリをダンプします。
- OdBmVectorizeEx — .rvtまたは.rfaファイルを読み込み、その内容をコンソールにベクトル化します。
- BmColladaExportEx — .rvtまたは.rfaファイルを読み込み、Colladaファイルに書き込みます。
要素を反復処理し、そのジオメトリを取得して変換することもできます。各要素には2つのgetGeometryメソッドがあります。
- -getGeometry() — ファイルから読み込まれたジオメトリキャッシュを返します。
- -getGeometry(const OdBmGeometryOptions& options, OdBmObjectPtr& pObj) — ビューのジオメトリを返します。ビューを設定しない場合、ビューに依存しないジオメトリノードが返されます。
注釈要素(TextNote、Dimension、Tagsなど)はジオメトリを返しません。注釈要素にはジオメトリキャッシュがありません。
B-Repジオメトリ
ほとんどの3DジオメトリはB-Rep(境界表現)形式であり、これはオブジェクトをその境界によって表現する方法です。B-Repオブジェクトは、接続された面、エッジ、頂点のセットに含まれるオブジェクトとして格納され、面間の関係を定義するトポロジカル情報と共に保存されます。
一般的にB-Repを扱うにはBrBrepクラスを使用できます。これはすべてのODA製品のB-Repジオメトリと統一されています。B-Repジオメトリを直接扱う場合、アプリケーション側でBIM B-Rep実装の具体的な処理を行う必要があります。
BIM SDKでのB-Repの使用に関する詳細情報は以下にあります。