Delphi GLScene экспорт сцены как stl

у меня есть . В SceneViewer я импортирую некоторые файлы stl как freeform. Пользователь может взаимодействовать с этими объектами (перемещать и вращать их с помощью мыши).

теперь я должен экспортировать все это Scene один stl файл, поэтому положение и вращение свободностоящие формы должно быть как в Scene после этого экспорт ("слияние").

Я нашел эту тему о той же проблеме:экспорт "сцена" в STL файл но это создает сломанный STL-файл (пробовал открыть с помощью meshlab).

Я надеюсь, что есть идея для создания решения. Если кто-то знает решение для другого формата 3d-файла, это тоже будет здорово.

1 ответов


Я нашел решение :-)

ссылка в ответе почти правильная, но я должен вычислить информацию заголовка (количество 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