Computational Tools for 3D Printing
Ariel Shamir
Bernd Bickel
Wojciech Matusik

About This Course• Basics of 3D printing hardware and software• Computation, 3D printing, interactive techniques• Overview of latest research

Source: The Economist (Cover)About This Course

Source: The Economist (Cover)Course Website• http://www.computational-fabrication.com/• Includes the course material

Other 3D Printing Courses at Siggraph/ Siggaph Asia
• Siggraph Asia 2014
– 3D printing oriented design: geometry and optimization
http://staff.ustc.edu.cn/~lgliu/Courses/SigAsia_2014_course_3Dprinting/index.html• Siggraph 2015
– Modeling and Toolpath Generation for Consumer-Level 3DPrinting– http://webloria.loria.fr/~slefebvr/sig15fdm/

Lecturers• Ariel Shamir– Interdisciplinary Center Herzliya– http://www.faculty.idc.ac.il/arik/• Bernd Bickel– Institute of Science and Technology, Austria– http://berndbickel.com/• Wojciech Matusik– Massachusetts Institute of Technology– http://people.csail.mit.edu/wojciech/

Course Schedule
9:00 am - 9:10 am Welcome and Introductions, Matusik
9:10 am - 10:00 am 3D Printing Hardware/Software, Matusik
10:00 am - 10:30 am Appearance Fabrication for 3D Printing, Bickel
10:30 am - 10:45 am Break
10:45 am - 11:15 am Design and Fabrication of Deformable Objects, Bickel
11:15 am - 12:10 am Modeling and Analysis, Shamir
12:10 pm – 12:15pm Conclusions, Q&A, AllCourse Overview

Basics of 3D Printing• What 3D printing is?
• How does it work?
• What are the applications?

3D Printing Hardware and Materials

Fused deposition modeling

Stereolithography

3D Printing Software Pipeline
Input Model

Orientation and Positioning
Support Structures

Slicing
Path Planning

Machine Instructions

Appearance Fabrication for 3D Printing

Base Materials
Fabrication

Mapping /Optimization
OutputTarget Object

Designing Deformations for 3D Printing

Base Materials
Acquistion

Fabrication

Search &Simulation
Target Object

OutputMore Inverse Modeling Examples

Specification: shape and size
Specification: balance

Specification : strength to a given weightStructural Analysis for Fabrication• Need to analyze the “strength” or “weakness” of theshapeStress Relief: Improving Structural Strength of 3D Printable
Objects [Stava et al. SIG 2012]
Worst-case Structural Analysis[Zhou et al. SIG 2013]
Cross-sectional Structural Analysis for 3D Printing Optimization[Umetani & Schmidt SIGA 2013]

Interactive Modeling for Fabrication• Examples of interactive tools
Modeling from Photographs

Modeling by (Part) Examples

Customization of Models

3D Printing Basics

3D Printing = Additive Manufacturinghttps://commons.wikimedia.org/wiki/File:3D_printing_on_replicator_2.webm

3D Printing Process• Slice 3D model into layers

3D Printing Process• Slice 3D model into layers• Manufacture layers one by one (e.g., bottom-up)

Source: https://commons.wikimedia.org

Subtractive Manufacturing• Start with a block ofmaterial• Remove material to obtaina given 3D shape

Source: https://commons.wikimedia.org

Additive Manufacturing Technologies
•
•
•
•
•
•
•
•
•

Fused deposition modeling (FDM)
Stereolithography (SLA)DLP 3D printing
Selective laser sintering (SLS)
Direct metal laser sintering (DMLS)
Plaster-based 3D printing (PP)
Photopolymer Phase Change Inkjets
Thermal Phase Change Inkjets
Laminated object manufacturing (LOM)

Applications of 3D PrintingWhy Additive Manufacturing?
• Good for custom parts or short production runs
• Can build objects with complex geometry• No (or little) waste material

What Is 3D Printing Used For?
Other 1%

Functional
Parts 28%

Manufacturing
27%

Prototyping,
Presentation,
Education 44%

Applications: Dental and Medical Industries

Crowns, copings, bridges

Custom Hearing Aids

Implants

Prosthetics
Source: Envisiontec, on3dprinting.com

Applications: Automotive

Honeycomb
Tires

3D Printed Ventilation Prototype(High Temperature 3D Printing Material)
Source: www.uprint3dprinting.com, gizmodo.com

Applications: Automotive

Source: https://3dprint.com/36433/3d-printed-shelby-cobra/

Applications: Architecture

Source: http://web.ornl.gov/sci/eere/amie/

Applications: Architecture & Design

Source: aecbytes.com, Z Corp, object.com

Applications: Aerospace

3D printed fuel injection nozzle for a jet engine

Airbus wing brackets
Source: GE, 3dprintingindustry.com

Applications: Jewelry• Direct metal printing and casting patterns

Source: Shapeways, replicatorinc.com

Applications: Footwear

Source: 3dprintingindustry.com, .rapid3d.co.za

Applications: Consumer Home Products

Source: Shapeways

Applications: Art

Source: Shapeways, Carlo Sequin, techdigest.tv

Applications: Education

Source: printcountry.com, designfax.net

3D Printing Hardware and Materials

Additive Manufacturing Encompasses Many
Different Technologies
•
•
•
•
•
•
•
•
•

Fused deposition modeling (FDM)
Stereolithography (SLA)DLP 3D printing
Selective laser sintering (SLS)
Direct metal laser sintering (DMLS)
Plaster-based 3D printing (PP)
Photopolymer Phase Change Inkjets
Thermal Phase Change Inkjets
Laminated object manufacturing (LOM)

Fused Deposition Modeling (FDM)• Fused Filament Fabrication (FFF)• Filament is made of thermoplastic
materials– e..g., ABS, polycarbonate, PLA• Temporary support structure canbe made from water-soluble
material such as PVA– removed using heated sodiumhydroxide solution
Source: http://reprap.org

Stereolithography (SLA)• SLA uses liquid ultraviolet
curable photopolymer resin• Laser beam traces one layeron the surface of the resin• Laser light cures andsolidifies the layer• The platform descends by
one layer
Source: http://en.wikipedia.org/

Photopolymers• Change from a liquid state to solid state when exposedwith light of a certain wavelength• Typical ingredients:– Monomers: small molecules, lower viscosity– Oligomers: relatively high molecular weight, e.g., acrylates,
epoxies, etc.
– Photoinitiators: generate reactive species (free radicals)
under light exposure to initiate the polymerization– Additives: binders, surfactants, stabilizers, etc.

How Photopolymers Work
• Free Radical Polymerization– Initiation: Free radicals are generated through the initiator when exposed to light– Propagation: Free radicals react with monomer molecules to generate new reactive center,monomers react with reactive center repetitively to grow into a long chain– Termination: Chain termination occurs when two reactive centers come close and reactwith each other to yield complete macromolecules

Source: http://www.additive3d.com/photo.htm

Stereolithography ProcessDigital Light Projector (DLP) 3D Printing• DLP 3D printer uses liquid
ultraviolet curable
photopolymer resin• DLP exposes and solidifies
one layer at a time on thesurface of the resin• The Z-axis moves by one layer

DLP 3D Printing Features• Simple design– laser+mirror are replaced by a projector– only one degree of freedom• Faster than SLA– exposes one layer at a time

• Materials– The same as SLA• No additional support material– Lattice structure similar to SLA
Source: Nicholas Fang, MITDLP 3D Printing Process

Selective Laser Sintering (SLS)
Direct Metal Laser Sintering (DMLS)• SLS and DMLS use a bed of small
particles (made of plastic, metal,
ceramic, or glass)• High-power laser traces one layeron the surface of the powder bed
melting/fusing the particles• The platform descends by one
layer and more material is added
Source: http://en.wikipedia.org/wiki/Selective_laser_sinteringSingle- and Two-Component Powders

Source: Tolochko et al. 2003

Raw Powder Particles

Raw Ni-alloy-Cu powder mixture

Raw Cu-coated Ni-alloy powder
Source: Tolochko et al. 2003

Sintered Materials

Fe-Cu powder mixture after sintering
Source: Tolochko et al. 2003

SLS & DMLS Process

Source: https://www.youtube.com/watch?v=BZLGLzyMKn4

Sample Fabricated Parts

Sources: http://www.bridgesmathart.org , http://www.freedomofcreation.com

Plaster-based 3D Printing• This method uses a bed of small
plaster particles• Inkjet printhead prints with liquid(possibly colored) adhesive one layeron the surface of the powder bed
fusing the particles• The platform descends by one layer
and more material is added
Source: Zhou and Lu, 2011

Plaster-based 3D Printing Features• Similar to SLS and DMLS
– Also uses granular materials– Uses inkjet printhead instead of laser– Glues particles instead of melting them

• Does not require support structure– Overhangs are supported by powder material• The only technology supporting full-color printing• Materials– Plaster only
– Color can be applied (typically on/near the surface)
Source: Z corporation

Plaster-based 3D Printing Process

Source: https://www.youtube.com/watch?v=GnFxujCyD70

Photopolymer Phase Change Inkjets• Inkjet printhead jets liquid
photopolymer and support material• UV light cures photopolymer andsupport material• Excess material is removed using aroller• The platform descends by one layer

Source: http://www.engatech.com/Objet-3D-Printing-Technology.asp

Materials• Bio-compatible• High-temperature• ABS-like• Transparent• Opaque• Rigid• Polypropylene-like• Rubber-like
Source: Objet Geometries

Photopolymer Phase Change Inkjet 3D Printing

Source: https://www.youtube.com/watch?v=XLLq9SwSTpM

Sample Fabricated Objects

Source: Objet Geometries

Thermal Phase Change Inkjets• Inkjet printhead jets heated liquid
plastic and support material (wax)• Material droplets solidify as theycool down• Excess material is removed using amilling head to make a uniform
thickness layer• Particles are vacuumed away
• The platform descends by one layer

Source: http://www.additive3d.com/bpm.htm

Thermal Phase Change Inkjets Features• Extremely high resolution• Slow printing time
• Materials– Limited: plastics and waxes• Support material– Wax: easy to remove• Manufactured objects are used as
casting pattern but almost neveras final functional parts
Source: http://www.protojewel.com

Laminated Object Manufacturing (LOM)• Sheet is adhered to a substrate with aheated roller• Laser traces desired dimensions ofprototype• Laser cross hatches non-part area tofacilitate waste removal• Platform with completed layer moves
down out of the way• Fresh sheet of material is rolled into
position• Platform moves up into position toreceive next layer

1 Foil supply. 2 Heated roller. 3 Laserbeam. 4. Scanning prism. 5 Laser unit. 6
Layers. 7 Moving platform. 8 Waste.

Source: http://en.wikipedia.org/wiki/Laminated_object_manufacturingLaminated Object Manufacturing Features• Inexpensive – low material cost
• Color can be added using additional
printhead• Materials– Paper (most common), plastics,
composites• Support material– The same material can be used as
supportSource: http://www.solido3d.com

LOM Printing Process

Source: http://www.youtube.com/watch?v=Z1WNA6tdfWM
Source: http://blog.nus.edu.sg/u0804594/common-rp-techniques/laminated-object-manufacturing-lom

3D Printing Software Pipeline

3D Printing Software Pipeline
Input Model

Orientation and Positioning
Support Structures

Slicing
Path Planning

Machine Instructions

Input File Formats• STL (Stereolithography)– Triangle “soup” – an unordered list of triangular facets– Vertices ordered by the right hand ruleASCII
solid namefacet normal ni nj nkouter loop
vertex v1x v1y v1z
vertex v2x v2y v2zvertex v3x v3y v3z
endloopendfacetendsolid namebinary}repeatfor eachtriangle

UINT8[80] – Header
UINT32 – Number of triangles
foreach triangle
REAL32[3] – Normal vector
REAL32[3] – Vertex 1
REAL32[3] – Vertex 2
REAL32[3] – Vertex 3
UINT16 – Attribute byte count (0)endSTL (Stereolithography) File Format

Source: Jackson 2000

3D Printing Software Pipeline
Input Model

Orientation and Positioning
Support Structures

Slicing
Path Planning

Machine Instructions

Model Orientation• Model orientation on the build platform influences– Mechanical properties– Build time
– Support volume– Surface accuracy– Support contact area

Model Orientation: Mechanical Properties

printing
directionstrongweakModel Orientation: Mechanical Properties
max load: 0.22kg
weak
printing
direction

max load: 3.51kg

strongprinting
direction

Model Orientation: Build Time
• Build speed is slower for the z direction compared to
the xy directionzlonger build timeshorter build timeModel Orientation: Support Volume

support supportzsupportmore support volume

less support volume

Algorithms for Specifying Model Orientation• Manual placement– User is responsible for placing parts on the build tray

• Semi-automated placement– User places parts on the build tray
– System provides feedback on build time, support volume, support
contact area, mechanical properties• Automated placement– orientation is computed using optimization according to one ormore objectives (build time, support volume, support area,
mechanical properties)

3D Printing Software Pipeline
Input Model

Orientation and Positioning
Support Structures

Slicing
Path Planning

Machine Instructions

Support Structure Generation• Do not require special support– SLS, DMLS, LOM, Plaster-based• Require support•

SLA, DLP, FDM, phase-change inkjet• Different goals– Prevent curling as the resin hardens– Supporting overhangs– Maintaining stability (part does not move or tip over)– Supporting large flat walls– Preventing excessive shrinkage– Supporting slanted walls

Support Structure Generation Depends on
Manufacturing Method• Different for FDM, SLA/DLP, inkjet printing

supportinkjetFDM

Simple Conservative Algorithm• Use ray casting in the z direction tocompute all intersections for a ray• Sort intersections in the increasingz to determine intervals
inside/outside of the object• Any outside intervals before thelast inside interval should containsupportSupport Generation For FDM• FDM printers can print at some draft angle

Huang et al. 2009

Support Generation For FDM• Minimize the use of support material

unoptimized support

optimized support

Huang et al. 2009

Optimized Support Structures

Huang et al. 2009

Unoptimized vs. Optimized Support Structure

Huang et al. 2009

Advanced Algorithms: Photoshop

Advanced Algorithms: MeshMixer

Source: http://www.youtube.com/watch?v=aFTyTV3wwsE

Advanced Algorithms: Bridging the Gap

Source: Dumas, Siggraph 2014

3D Printing Software Pipeline
Input Model

Orientation and Positioning
Support Structures

Slicing
Path Planning

Machine Instructions

Slicing• For a discrete z value, compute an intersection of aplane with a modelSlicing Algorithms: Voxelization• For each voxel compute inside/outside• Extract contours
·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

Slicing Algorithms: Voxelization• For each voxel compute inside/outside• Extract contours (e.g., Marching Squares)
·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

Slicing Algorithms: Direct Plane-Triangle Intersection• For each triangle– Intersect triangle with the z plane– If they intersect, store the line segment• Connect line segments, store contours

1.
2.

Intersect each edge with the plane
If two intersection points, connect them toform a line segment
Source: Choi and Kwok, 2002

Slicing Algorithms: Direct Plane-Triangle Intersection• For each triangle– Intersect triangle with the z plane– If they intersect, store the line segment• Connect line segments, store contours
Issues• spurious line segments• missing line segments
Epsilons

Slicing Algorithms: Direct Plane-Triangle Intersection• STL models are not always watertight -> epsilons

Source: Marsan et al, 1998

Adaptive Slicing• Slice height is adapted to the input geometry• Adaptive slicing is rarely used

input model

uniform slicing

adaptive slicing

3D Printing Software Pipeline
Input Model

Orientation and Positioning
Support Structures

Slicing
Path Planning

Machine Instructions

What Does Path Planning Influence?
• Build time
– repositioning the tool at the start of a new path– accelerating and decelerating for direction changes• Surface accuracy– the filament size

• Distortion– materials with a high coefficient of thermal expansion– the top layer shrinks when it hardens and it distorts since it is tied to the bottom layer•

Stiffness and strength– fill pattern– the area and strength of bonds depends on spacing and the time interval between thetool traversal

Path Planning for Raster-based 3D Printing• Superimpose a voxel grid andtest whether a voxel isinside/outside the model• Trivial for DLP 3D printing• For inkjet-based 3D printing
requires computing print head
movement (many nozzles,
distances between nozzles)

Path Planning for Vector-based 3D Printing• Contour• Contour + solid interior• Contour + interior fill pattern

Path Planning for Vector-based 3D Printing: Contour• Allows manufacturinghollow objects, someoverhangs, some tilted
surfaces• Reduces frequency of tool
repositioning• Reduces support structures
Source: http://www.3ders.org

Path Planning for Vector-based 3D Printing: Contour• Offset inwards by distance equal to the filament radius

no offset

offset inwards

Path Planning for Vector-based 3D Printing: Interior• Tracing contours is combined with filling the interior• The interior can be completely filled

Horton et al 1993
Han et al 2002

Path Planning for Vector-based 3D Printing: Interior• Tracing contours is combined with filling the interior• Many different fill patterns can be used

TriHatch

QuickCast
Horton et al 1993

Path Planning for Vector-based 3D Printing: Interior• A honeycomb-cell structure a good trade-off between
overall weight and strength3D Printing Software Pipeline
Input Model

Orientation and Positioning
Support Structures

Slicing
Path Planning

Machine Instructions

Machine Instructions• Raster file formats– DLP 3D printing, plaster-based 3D printing, phase-change
inkjets– Proprietary, not exposed– Can be exported as image files (e.g., PNG, BMP)

• Vector file formats– G-Code– SLI by 3D Systems – machine-specific 2D format for thevector commands that control the laser beamG-code••••Numerical control (NC) programming language
Developed at MIT in 1950s
Used for CNC milling machines, now for many 3D printers
Sample Instructions– G00: Rapid move• does not necessarily move in a single straight line between start pointand end point. It moves each axis at its max speed until its vector isachieved.

– G01: Linear interpolation• specify the start and end points, and the control automatically calculates
the intermediate points to pass through that will yield a straight line

– G02: Circular interpolation, clockwise

G-code Example
G17 G20 G90 G94 G54
G0 Z0.25
X-0.5 Y0.
Z0.1
G01 Z0. F5.
G02 X0. Y0.5 I0.5 J0. F2.5
X0.5 Y0. I0. J-0.5
X0. Y-0.5 I-0.5 J0.
X-0.5 Y0. I0. J0.5
G01 Z0.1 F5.
G00 X0. Y0. Z0.25

This program draws a 1" diameter circle about
the origin in the X-Y plane.
seek the Z-axis to 0.25“travel to X=-0.5 and Y=0.0
lower back to Z=0.0.
draw a clockwise circle at a slow feed rate.

lift the Z-axis up 0.1“seek back to X=0.0, Y=0.0, and Z=0.25
https://github.com/grbl/grbl/wiki/G-Code-Examples

3D Printing Software Pipeline
Input Model

Orientation and Positioning
Support Structures

Slicing
Path Planning

Machine Instructions

Representation of Multi-material Objects• Each point in the Build Space (x  X) must map to acomposition in the Material Space (m(x)  M)

Source: Jackson 2000

Basic Multi-Material 3D Printing Software Pipeline• Input– A separate boundary representation foreach material (e.g. an STL file)• The rest of the pipeline is similar

+

+

+…+

Voxel Representation of Multi-material Objects• Voxel-based modeling– Each voxel maintains
information about its
composition

1 Voxel
50% A
25% B
25% C

Voxel Representation of Multi-material Objects• Voxel-based modeling– Each voxel maintains
information about its
composition– When printing thisvolume is dithered toobtain a halftoned
representation

A A
B C
4 VoxelsSoftware Architecture Challenges• Giga voxels/inch3, Tera voxels/foot3• Continuous gradation between materials• Reusable material definitions• Resolution and printer independenceOpenFab [Vidimce 2013]• Inspired by rendering pipelines• Fixed stages and programmable stages• Procedural surface and material definitions• Resolution independence• Streaming architecture

OpenFab [Vidimce 2013]

input

tessellatesurface stage

texturesmaterials

voxelizevolume stage

ditheroutputExtended 3D Printing Pipeline

Applications/Interactive Design
Functional Specification
Direct Specification
Hardware/Materials

Questions?