如何将Three.js转换为.stl文件进行3D打印?

时间:2018-01-03 06:39:15

标签: javascript 3d stl three.js

我找到了一个页面链接:Convert Three.js to .stl for 3D printing?

var exporter = new THREE.STLExporter();
var str = exporter.parse(scene);
console.log(str);

但是当我使用它们时,不能导出stl文件。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

STLExporter.parse()会将指定的对象导出为字符串。如果您希望将字符串保存为文件,则必须执行更多操作。作为一种简单的方法,您可以使用FileSaver.js将字符串保存到文件中。

首先,您必须下载并在代码中加入FileSaver.js

Download link:

使用STLExporter导出场景后,将生成的字符串转换为Blob,然后使用FileSaver.js将Blob保存为文件,

var exporter = new THREE.STLExporter();
var str = exporter.parse( scene ); // Export the scene
var blob = new Blob( [str], { type : 'text/plain' } ); // Generate Blob from the string
saveAs( blob, 'file.stl' ); //Save the Blob to file.stl

如果您不熟悉FileSaver.js,可以尝试以下方法,

var exporter = new THREE.STLExporter();
var str = exporter.parse( scene ); // Export the scene
var blob = new Blob( [str], { type : 'text/plain' } ); // Generate Blob from the string
//saveAs( blob, 'file.stl' ); //Save the Blob to file.stl

//Following code will help you to save the file without FileSaver.js
var link = document.createElement('a');
link.style.display = 'none';
document.body.appendChild(link);
link.href = URL.createObjectURL(blob);
link.download = 'Scene.stl';
link.click();