THREE.js中用于BufferGeometry的STL导出器

6

我有一些BufferGeometries,它们构成了一个场景,并且它们的网格已经被转移到不同的位置。我想知道是否有一种方式可以从包含BufferGeometries的网格中导出这个场景到STL文件。非常感谢。


这个答案处理了直接将变换矩阵应用于几何图形以修改它们的方法,因此如果你按照 @leota 建议的从 BufferGeometry 获取几何图形,然后应用变换并导出修改后的几何图形,那么就可以实现了。https://dev59.com/hF8d5IYBdhLWcg3wQwa5 - fmacdee
2个回答

1

尝试一下:

scene.traverse(function(child){
    child.updateMatrix();
    child.applyMatrix(child.matrix);
});
var exporter = new THREE.STLExporter();
exporter.parse( scene );
function saveString( text, filename ) {
  save( new Blob( [ text ], { type: 'text/plain' } ), filename );
}
saveString( exporter.parse( editor.scene ), 'model.stl' );


这似乎无法保留存储在“BufferGeometry”中的变换。 - recursion.ninja

1

你可以像下面这样将BufferGeometries转换为Geometry:

var geometry = new THREE.Geometry().fromBufferGeometry( bufferGeometry );

然后您可以将其导出为STL格式。

1
谢谢@leota。由于它们仍然是几何体,它们没有我所做的转换,我需要将包含BufferGeometries的网格导出到STL文件中。 - Hesamoy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接