From 34a2b6cafc474e6c4d9f96126c541207795603cd Mon Sep 17 00:00:00 2001 From: Casper Lamboo Date: Mon, 19 Feb 2018 18:02:57 +0100 Subject: [PATCH] remove comma --- DOCS.md | 80 +++++++++++++++++++++++++++++ src/sliceActions/helpers/vector3.js | 2 +- 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 DOCS.md diff --git a/DOCS.md b/DOCS.md new file mode 100644 index 0000000..4d274a8 --- /dev/null +++ b/DOCS.md @@ -0,0 +1,80 @@ +# Doodle3D Slicer +This document explains how the slice process works. + +In this slicer Z is the "up" vector. + +Requisites + - 2D Vector math + - 3D Vector math + - 2D Boolean operations (union, difference) + - 2D Path offsetting + +### Step 0: Preparation +The first step is to prepare the data for slicing. +``` +Vertices: Float32Array +Faces: Uint32Array +ObjectIndexes: UInt8Array +OpenObjectIndexes: [...Int] +Settings: + startCode: String + endcode: String + dimensions: + x: Number + y: Number + z: Number + heatedBed: Bool + nozzleDiameter: Number + filamentThickness: Number + temperature: Number + bedTemperature: Number + layerHeight: Number + combing: Bool + thickness: + top: Number + bottom: Number + shell: Number + retraction: + enabled: Bool + amount: Number + speed: Number + minDistance: Number + travel: + speed: Number + support: + enabled: Bool + minArea: Number + distanceY: Number + density: Number + margin: Number + flowRate: Number + speed: Number + innerShell: + flowRate: Number + speed: Number + outerShell: + flowRate: Number + speed: Number + innerInfill: + flowRate: Number + speed: Number + density: Number + outerInfill: + flowRate: Number + speed: Number + brim: + size: Number + flowRate: Number + speed: Number + firstLayer: + flowRate: Number + speed: Number +``` + - Vertices: List of points in 3d + - Faces: Indexes refering to points in the vertices list that make a triangular surface + - ObjectIndexes: Describes of what object each face is part of (important for the generating of 2d shapes) + - OpenObjectIndexes: Determines weather a object is open or closed (important for the generating of 2d shapes) + - Settings: object containing all the settings for slicing. We go in depth in this object when it's needed + +### Step 1: Creating lines +In this we take the 3d model and look at each surface to extract all individual lines. Note some lines are part of multiple surfaces. In addition we also add some additional data to each line, like the surfaces it is part of we'll also store the 2d normal diff --git a/src/sliceActions/helpers/vector3.js b/src/sliceActions/helpers/vector3.js index 7f227de..7d5493e 100644 --- a/src/sliceActions/helpers/vector3.js +++ b/src/sliceActions/helpers/vector3.js @@ -11,7 +11,7 @@ export const add = (a, b) => ({ export const scale = (v, factor) => ({ x: v.x * factor, y: v.y * factor, - z: v.z * factor, + z: v.z * factor }); export const divide = (v, factor) => ({ x: v.x / factor,