stl export for jscad

This commit is contained in:
Davor Hrg
2021-07-28 15:23:52 +02:00
parent 2a3fb0fd84
commit 73cbb9dbb3

View File

@@ -35,8 +35,7 @@ export const makeStlDownloadHandler =
ideType, ideType,
}: makeStlDownloadHandlerArgs) => }: makeStlDownloadHandlerArgs) =>
() => { () => {
const makeStlBlobFromGeo = flow( const makeStlBlobFromMesh = flow(
(geo) => new Mesh(geo, new MeshBasicMaterial()),
(mesh) => new Scene().add(mesh), (mesh) => new Scene().add(mesh),
(scene) => new STLExporter().parse(scene), (scene) => new STLExporter().parse(scene),
(stl) => (stl) =>
@@ -44,8 +43,11 @@ export const makeStlDownloadHandler =
type: 'text/plain', type: 'text/plain',
}) })
) )
const saveFile = (geometry) => { const makeStlBlobFromGeo = flow(
const blob = makeStlBlobFromGeo(geometry) (geo) => new Mesh(geo, new MeshBasicMaterial()),
(mesh) => makeStlBlobFromMesh(mesh)
)
const saveFile = (blob) => {
fileSave(blob, { fileSave(blob, {
fileName, fileName,
extensions: ['.stl'], extensions: ['.stl'],
@@ -56,7 +58,9 @@ export const makeStlDownloadHandler =
type === 'geometry' && type === 'geometry' &&
(quality === 'high' || ideType === 'openscad') (quality === 'high' || ideType === 'openscad')
) { ) {
saveFile(geometry) saveFile(makeStlBlobFromGeo(geometry))
} else if(ideType == 'jscad') {
saveFile(makeStlBlobFromMesh(geometry))
} else { } else {
thunkDispatch((dispatch, getState) => { thunkDispatch((dispatch, getState) => {
const state = getState() const state = getState()