Doodle3D-Slicer/example/app.js

46 lines
1.5 KiB
JavaScript
Raw Normal View History

import * as THREE from 'three.js';
import stlLoader from 'three.js/loaders/STLLoader';
2016-10-13 16:33:40 +02:00
import React from 'react';
import ReactDOM, { render } from 'react-dom';
import * as SLICER from 'src/index.js';
import generateRawData from './generateRawData.js';
import SlicerViewer from './SlicerViewer.js';
2015-07-26 15:32:10 +02:00
2016-07-19 14:23:23 +02:00
const settings = new SLICER.Settings({
...SLICER.printerSettings['ultimaker2go'],
...SLICER.userSettings
});
2015-07-26 15:32:10 +02:00
2016-10-16 11:10:39 +02:00
const stlLoader = new THREE.STLLoader();
2015-07-26 15:32:10 +02:00
2016-10-16 11:10:39 +02:00
stlLoader.load('stl/Airplane.stl', (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().scale(0.8));
geometry.mergeVertices();
geometry.computeFaceNormals();
2015-07-26 15:32:10 +02:00
2016-10-16 11:10:39 +02:00
const rawData = generateRawData(geometry, settings);
render(<SlicerViewer
layerIntersectionPoints={rawData.layerIntersectionPoints}
layerShapes={rawData.layerShapes}
slices={rawData.slices}
settings={settings.config}
/>, document.getElementById('container'));
});
// const geometry = new THREE.TorusGeometry(20, 10, 30, 30).clone();
// geometry.applyMatrix(new THREE.Matrix4().setPosition(new THREE.Vector3(60, 0, 60)));
// geometry.mergeVertices();
// geometry.computeFaceNormals();
//
// const rawData = generateRawData(geometry, settings);
//
// render(<SlicerViewer
// layerIntersectionPoints={rawData.layerIntersectionPoints}
// layerShapes={rawData.layerShapes}
// slices={rawData.slices}
// settings={settings.config}
// />, document.getElementById('container'));