UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

35 lines (34 loc) 1.03 kB
"use strict"; import { ExporterSopNode, BaseExporterSopParamsConfig } from "./_BaseExporter"; import { STLExporter } from "three/examples/jsm/exporters/STLExporter"; import { SopExporter } from "../../poly/registers/nodes/types/Sop"; class ExporterSTLSopParamsConfig extends BaseExporterSopParamsConfig { } const ParamsConfig = new ExporterSTLSopParamsConfig(); export class ExporterSTLSopNode extends ExporterSopNode { constructor() { super(...arguments); this.paramsConfig = ParamsConfig; } static type() { return SopExporter.EXPORTER_STL; } fileExtension() { return "stl"; } createBlob() { return new Promise(async (resolve) => { const sceneData = await this._prepareScene(); if (!sceneData) { return; } const { scene, objects } = sceneData; const options = { binary: true }; const exporter = new STLExporter(); const result = exporter.parse(scene, options); this._handleResult(result.buffer, objects, resolve); }); } }