Skip to content

Commit fb69ad8

Browse files
committed
Merge branch 'develop'
2 parents 281b037 + ed05c6f commit fb69ad8

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

example/save.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as THREE from 'three';
22
import { defaultSettings, Slicer } from 'src/index.js';
3-
import { saveAs } from 'file-saver';
3+
import fileSaver from 'file-saver';
44

55
const settings = {
66
...defaultSettings.base,
@@ -12,16 +12,15 @@ const settings = {
1212
const jsonLoader = new THREE.JSONLoader();
1313
jsonLoader.load('models/airplane.json', async geometry => {
1414
geometry.applyMatrix(new THREE.Matrix4().makeRotationX(Math.PI / -2));
15-
geometry.applyMatrix(new THREE.Matrix4().setPosition(new THREE.Vector3(50, -0.1, 50)));
15+
geometry.applyMatrix(new THREE.Matrix4().setPosition(new THREE.Vector3(50, -0.0, 50)));
1616
geometry.computeFaceNormals();
1717

1818
const slicer = new Slicer().setGeometry(geometry);
19-
const gcode = await slicer.slice(settings)
20-
.progress(({ progress: { done, total, action } }) => {
21-
const percentage = `${(done / total * 100).toFixed()}%`
22-
document.write(`<p>${action}, ${percentage}</p>`);
23-
});
19+
const gcode = await slicer.slice(settings, ({ progress: { done, total, action } }) => {
20+
const percentage = `${(done / total * 100).toFixed()}%`
21+
document.write(`<p>${action}, ${percentage}</p>`);
22+
});
2423

2524
const file = new File([gcode], 'gcode.gcode', { type: 'text/plain' });
26-
saveAs(file);
25+
fileSaver.saveAs(file);
2726
});

src/Slicer.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,14 @@ export default class {
2626
return this;
2727
}
2828
sliceSync(settings, onProgress) {
29+
if (typeof this.geometry === 'undefined') {
30+
throw new Error('Geometry is not set, use Slicer.setGeometry or Slicer.setMesh first');
31+
}
32+
2933
return slice(this.geometry, settings, onProgress);
3034
}
3135
slice(settings, onProgress) {
32-
if (!this.geometry) {
36+
if (typeof this.geometry === 'undefined') {
3337
throw new Error('Geometry is not set, use Slicer.setGeometry or Slicer.setMesh first');
3438
}
3539

@@ -48,7 +52,9 @@ export default class {
4852
break;
4953
}
5054
case 'PROGRESS': {
51-
onProgress(data);
55+
if (typeof onProgress !== 'undefined') {
56+
onProgress(data);
57+
}
5258
break;
5359
}
5460
}

0 commit comments

Comments
 (0)