2

バイナリ形式の STL (STereoLithography) ファイルがあり、c#.net からファイルを正常に読み取り、ファセットを取得しました。また、三角形の数、パーツの体積、パーツの表面積、および 3D オブジェクトの寸法も取得しました。 (長さ、幅、高さ)。しかし、問題は、部品の数と層の厚さを見つけることができないことです。助けてください。

4

1 に答える 1

1

バイナリ STL フォーマットを設計した人々には申し訳ありませんが、私には少し醜いように思えます。

フォーマットの概要は、80 バイトのヘッダーに続いて dword (三角形の数) が続き、各三角形は Normal で格納され、Vertex1,2&3 は単一の浮動小数点形式で x、y、z として格納され、その後に 16 ビットの short ( 0) - これはファイルの終わりまで繰り返されます。

つまり、基本的にファイルを解釈するプログラムはすべての頂点のリストを内部的に保持し、適切な「多様体」ボディを持つように重複を削除する必要があります (それが重要な場合)。

それを複数のオブジェクトに分割したい場合は、本質的に面の「島」を探す必要があります - 頂点を共有することによって互いに関連するすべての面を見つけます。個別のオブジェクトは、互いに関係のない塊になります。

私の知る限り、標準の STL 形式にはレイヤーの厚さなどは含まれていません。3D プリントのスライスの厚さについて話している場合、STL はスライスの前のステップです。したがって、「レイヤーの厚さ」はありません。 'それ自体。

もっと簡単な答えが欲しかったと思いますが、もしあれば、私はそれを見つけていません:)

于 2014-07-20T19:32:37.770 に答える