6

私はGLSceneプロジェクトを持っています。では、SceneViewerいくつかの stl ファイルをフリーフォームとしてインポートします。ユーザーはこのオブジェクトを操作できます (マウスで移動および回転)。

ここで、この全体Sceneを 1 つのstl ファイルにエクスポートする必要があるため、フリーフォームの位置と回転は、Sceneこのエクスポート (「マージ」) 後のようになります。

私は同じ問題についてこのスレッドを見つけました: Export "Scene" to STL File but this create an壊れた stl ファイル (meshlab で開いてみました)。

ソリューションを作成するためのアイデアがあることを願っています。誰かが別の 3d ファイル形式の解決策を知っていれば、それも素晴らしいでしょう。

4

1 に答える 1

1

私は解決策を見つけました:-)

答えのリンクはほぼ正しいですが、別の方法でヘッダー情報 (facelett の数) を計算する必要があります。今、私はループを使用してヘッダーを計算してから、すべてを書き込みます。解決策がすぐ近くにあることもあります。

var j :integer ; 
var i:integer; 
var header: TSTLHeader; 
var dataFace: TSTLFace; 
var list: TaffineVectorlist; 

//objects  = list of steFreeform objects
//astream  = created stream 
for  j := 0 to objects.count - 1 do 
begin
  list := TGLFREEForm(objects[j].MeshObjects.ExtractTriangles; 
  header.nbfaces :0 header.nbFaces + list.count div 3 ; 
end; 
aStream.write(header.SizeOf(header)); 
//rest see above link in the question
于 2013-01-30T19:05:06.847 に答える