2017-05-13 15:39:45 +02:00
|
|
|
import 'three.js';
|
|
|
|
import { Settings, printerSettings, userSettings, Slicer } from 'src/index.js';
|
|
|
|
import { saveAs } from 'file-saver';
|
|
|
|
|
|
|
|
const settings = new Settings({
|
|
|
|
...printerSettings['ultimaker2go'],
|
|
|
|
...userSettings
|
|
|
|
});
|
|
|
|
|
2017-07-18 10:22:26 +02:00
|
|
|
const jsonLoader = new THREE.JSONLoader();
|
|
|
|
jsonLoader.load('models/airplane.json', async geometry => {
|
2017-05-13 15:39:45 +02:00
|
|
|
geometry.applyMatrix(new THREE.Matrix4().makeRotationX(Math.PI / -2));
|
2017-07-18 10:34:20 +02:00
|
|
|
geometry.applyMatrix(new THREE.Matrix4().setPosition(new THREE.Vector3(50, 0.1, 50)));
|
2017-05-13 15:39:45 +02:00
|
|
|
geometry.computeFaceNormals();
|
|
|
|
|
|
|
|
const slicer = new Slicer().setGeometry(geometry);
|
2017-07-18 10:34:20 +02:00
|
|
|
const gcode = slicer.sliceSync(settings);
|
2017-05-13 15:39:45 +02:00
|
|
|
|
2017-07-18 10:34:20 +02:00
|
|
|
const file = new File([gcode], 'gcode.gcode', { type: 'text/plain' });
|
2017-05-13 15:39:45 +02:00
|
|
|
saveAs(file);
|
|
|
|
});
|