From 73cbb9dbb30881d3881dc25ca550d8f12cf3e066 Mon Sep 17 00:00:00 2001 From: Davor Hrg Date: Wed, 28 Jul 2021 15:23:52 +0200 Subject: [PATCH] stl export for jscad --- app/web/src/components/EditorMenu/helpers.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/web/src/components/EditorMenu/helpers.ts b/app/web/src/components/EditorMenu/helpers.ts index ff050c6..a0d97eb 100644 --- a/app/web/src/components/EditorMenu/helpers.ts +++ b/app/web/src/components/EditorMenu/helpers.ts @@ -35,8 +35,7 @@ export const makeStlDownloadHandler = ideType, }: makeStlDownloadHandlerArgs) => () => { - const makeStlBlobFromGeo = flow( - (geo) => new Mesh(geo, new MeshBasicMaterial()), + const makeStlBlobFromMesh = flow( (mesh) => new Scene().add(mesh), (scene) => new STLExporter().parse(scene), (stl) => @@ -44,8 +43,11 @@ export const makeStlDownloadHandler = type: 'text/plain', }) ) - const saveFile = (geometry) => { - const blob = makeStlBlobFromGeo(geometry) + const makeStlBlobFromGeo = flow( + (geo) => new Mesh(geo, new MeshBasicMaterial()), + (mesh) => makeStlBlobFromMesh(mesh) + ) + const saveFile = (blob) => { fileSave(blob, { fileName, extensions: ['.stl'], @@ -56,7 +58,9 @@ export const makeStlDownloadHandler = type === 'geometry' && (quality === 'high' || ideType === 'openscad') ) { - saveFile(geometry) + saveFile(makeStlBlobFromGeo(geometry)) + } else if(ideType == 'jscad') { + saveFile(makeStlBlobFromMesh(geometry)) } else { thunkDispatch((dispatch, getState) => { const state = getState()