2013-01-14 49 views
5

我有一個GLScene項目。在SceneViewer我導入一些stl文件爲自由形式。 用戶可以與此對象交互(使用鼠標移動和旋轉它們)。德爾福GLScene出口場景爲stl

現在我擁有自營出口這整個Scene一個STL文件,所以位置和自由曲面的轉動應該像這個出口後Scene(「合併」)。

我發現這個線程關於同一個問題:Export "Scene" to STL File但這會創建一個破損的stl文件(嘗試用meshlab打開)。

我希望有創建解決方案的想法。 如果有人知道另一種3D文件格式的解決方案,它也會很棒。

+0

沒有人,誰對這個問題有什麼想法? – user1116033

回答

0

我發現:-)

在回答該鏈接的解決方案是接近直角, 但我必須計算的其他方式的頭信息(faceletts的計數)。 現在我使用一個循環來計算標題,然後再寫所有。 有時解決方案如此接近。

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