2013-01-14 46 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