Doodle3D-Slicer/example/save.js
casperlamboo 622be82706 Merge remote-tracking branch 'origin/feature/split-settings' into develop
# Conflicts:
#	example/save.js
#	example/viewer.js
#	jspm.config.js
#	package.json
#	src/GCode.js
#	src/Slicer.js
#	src/index.js
#	src/sliceActions/addBrim.js
#	src/sliceActions/calculateLayersIntersections.js
#	src/sliceActions/createLines.js
#	src/sliceActions/detectOpenClosed.js
#	src/sliceActions/generateInfills.js
#	src/sliceActions/generateInnerLines.js
#	src/sliceActions/generateSupport.js
#	src/sliceActions/intersectionsToShapes.js
#	src/sliceActions/removePrecision.js
#	src/sliceActions/slice.js
2017-07-18 11:26:11 +02:00

28 lines
859 B
JavaScript

import 'three.js';
import { Settings, defaultSettings, Slicer } from 'src/index.js';
import { saveAs } from 'file-saver';
console.log('defaultSettings: ', defaultSettings);
const settings = {
...defaultSettings.base,
...defaultSettings.material.pla,
...defaultSettings.printer.ultimaker2go,
...defaultSettings.quality.high,
startCode: '',
endCode: ''
};
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.computeFaceNormals();
const slicer = new Slicer().setGeometry(geometry);
const gcode = slicer.sliceSync(settings);
const file = new File([gcode], 'gcode.gcode', { type: 'text/plain' });
saveAs(file);
});