mirror of
https://github.com/Doodle3D/Doodle3D-Slicer.git
synced 2024-11-22 21:47:59 +01:00
Merge branch 'develop'
This commit is contained in:
commit
fb69ad850d
@ -1,6 +1,6 @@
|
||||
import * as THREE from 'three';
|
||||
import { defaultSettings, Slicer } from 'src/index.js';
|
||||
import { saveAs } from 'file-saver';
|
||||
import fileSaver from 'file-saver';
|
||||
|
||||
const settings = {
|
||||
...defaultSettings.base,
|
||||
@ -12,16 +12,15 @@ const settings = {
|
||||
const jsonLoader = new THREE.JSONLoader();
|
||||
jsonLoader.load('models/airplane.json', async geometry => {
|
||||
geometry.applyMatrix(new THREE.Matrix4().makeRotationX(Math.PI / -2));
|
||||
geometry.applyMatrix(new THREE.Matrix4().setPosition(new THREE.Vector3(50, -0.1, 50)));
|
||||
geometry.applyMatrix(new THREE.Matrix4().setPosition(new THREE.Vector3(50, -0.0, 50)));
|
||||
geometry.computeFaceNormals();
|
||||
|
||||
const slicer = new Slicer().setGeometry(geometry);
|
||||
const gcode = await slicer.slice(settings)
|
||||
.progress(({ progress: { done, total, action } }) => {
|
||||
const percentage = `${(done / total * 100).toFixed()}%`
|
||||
document.write(`<p>${action}, ${percentage}</p>`);
|
||||
});
|
||||
const gcode = await slicer.slice(settings, ({ progress: { done, total, action } }) => {
|
||||
const percentage = `${(done / total * 100).toFixed()}%`
|
||||
document.write(`<p>${action}, ${percentage}</p>`);
|
||||
});
|
||||
|
||||
const file = new File([gcode], 'gcode.gcode', { type: 'text/plain' });
|
||||
saveAs(file);
|
||||
fileSaver.saveAs(file);
|
||||
});
|
||||
|
@ -26,10 +26,14 @@ export default class {
|
||||
return this;
|
||||
}
|
||||
sliceSync(settings, onProgress) {
|
||||
if (typeof this.geometry === 'undefined') {
|
||||
throw new Error('Geometry is not set, use Slicer.setGeometry or Slicer.setMesh first');
|
||||
}
|
||||
|
||||
return slice(this.geometry, settings, onProgress);
|
||||
}
|
||||
slice(settings, onProgress) {
|
||||
if (!this.geometry) {
|
||||
if (typeof this.geometry === 'undefined') {
|
||||
throw new Error('Geometry is not set, use Slicer.setGeometry or Slicer.setMesh first');
|
||||
}
|
||||
|
||||
@ -48,7 +52,9 @@ export default class {
|
||||
break;
|
||||
}
|
||||
case 'PROGRESS': {
|
||||
onProgress(data);
|
||||
if (typeof onProgress !== 'undefined') {
|
||||
onProgress(data);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user