mirror of
https://github.com/Doodle3D/Doodle3DSlicer.git
synced 20240910 06:02:05 +02:00
remove comma
This commit is contained in:
parent
f032d8c267
commit
34a2b6cafc
80
DOCS.md
Normal file
80
DOCS.md
Normal file
@ 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

@ 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,



Loading…
Reference in New Issue
Block a user