CurviSlicer: Slightly curved slicing for 3-axis printers
Jimmy Etienne, et al.
Introduction
Since we don't do a lot of digital fab...
Additive
Subtractive
- Fused Deposition Modelling (FDM)
- Stereolithography (SLA)
- Selective Laser Sintering (SLS)
- Etc...
- CNC Milling
- CNC Lathe
- Foam Cutting
- etc...
Computer Numerically Controlled = CNC
FDM Printing
Generally a simple concept, FDM deposits material via CNC machineary
FDM Printing
Generally a simple concept, FDM deposits material via CNC machineary
3D Printing
Anatomy
3D Printing
Hotend
3D Printing
Slicing
Slightly Curved Slicing
Addresses a weakness of FDM printers
Slightly Curved Slicing
Addresses a weakness of FDM printers
Slightly Curved Slicing
High level approach
Tetrahedralize
Optimization
Toolpath Generation
Post Processing
Slightly Curved Slicing
Tetrahedralization
Provides a means of representing \(\mathcal{M}\)
\(\Omega\) - Mesh
\(\Gamma\) - Tetrahedral mesh (\(\Gamma_I\) inside \(\Gamma_O\) and out)
\(\mathcal{F}\) - Faces on mesh
\(\forall p \in V, \mathcal{M}(p) = h\) (height)
Fabrication Constraints
Layer thickness
Minimum and maximum layer thicknesses
\(\tau_{min} = 0.1d\), \(\tau_{max} =0.75d\)
For 0.4mm nozzle, this gives [0.04mm, 0.3mm], depending on calibration
Fabrication Constraints
Slope
Key Intuition
Slice at \(\tau_{max}\) in \(\mathcal{M}(\Omega)\), optimize \(\mathcal{M}\) to flatten as many faces as possible
Flatten which faces?
\(\overline{\mathcal{F}}\) - other faces
\(\underline{\mathcal{F}}\) - faces to be flattened
Objective Function
Define an energy function to minimize
\(\lambda\)s are user-chosen trade-off parameters
\(h^0=z\)
Objective Function
Define an energy function to minimize
Attempts to pull vertices of a triangle to the same height
Objective Function
Define an energy function to minimize
\(\mathcal{C}(\underline{\mathcal{F}})\) is the set of connected components of the set to flatten
Objective Function
Define an energy function to minimize
Objective Function
Define an energy function to minimize
Attempts to pull vertices of a triangle to the same height
Objective Function
Constraints on optimization
Thickness constraint
\(\forall t\in \Gamma_I\)
Slope constraint
\(\forall t\in \Gamma_I\)
Objective Function
What if flattened surfaces aren't flat?
Objective Function
What if flattened surfaces aren't flat?
Printing
Extrusion rate must be modified in \(\mathcal{T}\), but is available from the gradient of \(\mathcal{M}\)
Results
Results
Results
Results
Error Comparison
CurviSlice
By Joshua Horacsek
CurviSlice
- 930