2013-01-14 23 views
5

Tôi có dự án GLScene. Trong số SceneViewer tôi nhập một số tệp stl dưới dạng freeform. Người dùng có thể tương tác với các đối tượng này (di chuyển và xoay chúng bằng chuột).Delphi GLScene xuất cảnh như stl

Bây giờ tôi phải xuất này toàn Scene một tập tin STL, vì vậy vị trí và chuyển động quay của các freeforms nên giống như trong Scene sau khi xuất khẩu này ("hợp nhất").

Tôi đã tìm thấy chuỗi này về cùng một vấn đề: Export "Scene" to STL File nhưng điều này tạo ra tệp stl bị hỏng (đã thử mở bằng meshlab).

Tôi hy vọng có một số ý tưởng để tạo giải pháp. Nếu ai đó biết giải pháp cho định dạng 3D khác, nó cũng sẽ tuyệt vời.

+0

Không ai có ý tưởng gì về vấn đề này? – user1116033

Trả lời

0

tôi đã tìm thấy các giải pháp :-)

liên kết trong câu trả lời là gần đúng, nhưng tôi phải tính toán các thông tin tiêu đề (đếm faceletts) một cách khác. bây giờ tôi sử dụng một vòng lặp tính toán tiêu đề trước khi viết thats tất cả. Đôi khi giải pháp rất gần.

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 
Các vấn đề liên quan