1

私は現在、IFC ファイルの webgl ビューアーに取り組んでいます。ほとんどの IfcRepresentation オブジェクトは理解しやすいですが、私は座標変換が苦手です。IfcAxis2Placement3D で定義されているように、THREEJS で Object3D を変換および回転するためのより良い表現はありますか? オブジェクトをZ軸で回転させてから、Z軸を新しいベクトルに合わせる必要があると思いますが、これを実装するにはどうすればよいですか? もう 1 つの質問は、IfcObjectPlacement に関するものです。PlacementRelTo == null になるまで、常にサブ PlacementRelTo オブジェクトが必要です。この配置から絶対座標を読み取るには、順変換ですか、それとも逆変換ですか? つまり、プッシュポップまたは直接注文を使用しますか? たとえば、M1、M2..Mn のような行列がある場合、M = M1 x M2 x ... Mn または M = Mn x Mn-1 x ... ×M2×M1? プロジェクトで美しいメッシュ オブジェクトを見つけることができますが、位置が常に間違っています。私を助けてください。

ありがとう。

4

1 に答える 1

0

行列変換の入門書として、射影のための行列変換に関するこの記事を参照してください

IFC モデルのほとんどのジオメトリは、「明示的な」形状ではなく「暗黙的な」形状になることに注意してください。つまり、通常の 3D シーンにフィードできる形式にデータを取得する前に、追加の処理を実行する必要があります。そのため、メッシュとして明示的にモデル化されるものはほとんどないため、モデルから多くの形状が失われます。要するに、IFC のジオメトリは自明ではない (ダイアグラム)ということです。それは、ワールド座標系への配置/マッピング/変換を開始する前です。

生の IFC STEP データを処理するために IFC ツールキットを使用しているかどうかは不明です。そうでない場合は、多くの作業 (おそらく何年にもわたる作業) を節約できるので、そうすることをお勧めします。

BuildingSmart は、IFC を処理するためのリソースのリストを維持します (商用およびオープン ソース)

次のツールキットはかなり成熟しており、ジオメトリを処理できることを知っています。再利用できる WebGL 実装が既にあるものもあります。

于 2015-10-01T08:34:11.783 に答える