stl export for jscad
This commit is contained in:
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user