Delphi GLScene экспортирует сцену как stl
У меня есть GLScene
проект. в SceneViewer
Я импортирую некоторые stl файлы в произвольной форме. Пользователь может взаимодействовать с этими объектами (перемещать и вращать их с помощью мыши).
Теперь я должен экспортировать все это Scene
в один файл STL, поэтому положение и поворот произвольных форм должны быть такими же, как в Scene
после этого экспорта ("слияние").
Я нашел эту тему о той же проблеме: экспортировать "сцену" в файл STL, но это создает поврежденный файл stl (попытался открыть с помощью meshlab).
Я надеюсь, что есть идея для создания решения. Если кто-то знает решение для другого формата 3d-файла, оно тоже будет отличным.
1 ответ
Я нашел решение:-)
ссылка в ответе почти правильная, но мне нужно рассчитать информацию заголовка (количество фасеток) другим способом. Теперь я использую цикл вычислить заголовок, прежде чем писать, вот и все. Иногда решение так близко.
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