PL Techniques for 3D Printing Zachary Chandakana Anat Dan Tatlock - - PowerPoint PPT Presentation

pl techniques for 3d printing
SMART_READER_LITE
LIVE PREVIEW

PL Techniques for 3D Printing Zachary Chandakana Anat Dan Tatlock - - PowerPoint PPT Presentation

PL Techniques for 3D Printing Zachary Chandakana Anat Dan Tatlock Nandi Caspi Grossman Compilers generate our environment. Computerized Manufacturing CNC Computerized Manufacturing CNC Mold Making Robotic Assembly Computerized


slide-1
SLIDE 1

PL Techniques for 3D Printing

Chandakana Nandi Dan Grossman Zachary Tatlock Anat Caspi

slide-2
SLIDE 2

Compilers generate

  • ur environment.
slide-3
SLIDE 3
slide-4
SLIDE 4
slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7

Computerized Manufacturing

CNC

slide-8
SLIDE 8

Computerized Manufacturing

CNC Robotic Assembly Mold Making

slide-9
SLIDE 9

Computerized Manufacturing

slide-10
SLIDE 10

Computerized Manufacturing

CAM Machine Instructions

slide-11
SLIDE 11

Computerized Manufacturing

CAD CAM IR Machine Instructions

slide-12
SLIDE 12

Computerized Manufacturing

Machine Instructions IR CAD CAM

slide-13
SLIDE 13

CAD/CAM : Idea → Part

CAD CAM

slide-14
SLIDE 14

CAD/CAM : Idea → Part

CAD CAM

Where is the PL theory?

  • semantics
  • equivalence
  • refinement
  • approximation
slide-15
SLIDE 15

CAD/CAM : Idea → Part

CAD CAM

Where is the PL theory?

  • semantics
  • equivalence
  • refinement
  • approximation

Already worthy challenge, but recently…

slide-16
SLIDE 16

Democratized Manufacturing

slide-17
SLIDE 17

3DP: PL Opportunity

3D Printing Background Challenge: CAD Synthesis Challenge: Slicing Framework

slide-18
SLIDE 18

Idea

slide-19
SLIDE 19
  • 1. Design

CAD STL Idea

slide-20
SLIDE 20
  • 1. Design

CAD STL

  • 2. Slice

Idea G-code

slide-21
SLIDE 21
  • 1. Design

CAD STL

  • 2. Slice

Idea Part

  • 3. Print

G-code

slide-22
SLIDE 22
  • 1. Design

CAD STL

  • 2. Slice
  • 4. OK?

Idea Part

  • 3. Print

G-code

slide-23
SLIDE 23
  • 1. Design

CAD STL G-code

  • 2. Slice
  • 4. OK?

Idea Part

  • 3. Print

iterate

slide-24
SLIDE 24

3DP: PL Opportunity

3D Printing Background Challenge: CAD Synthesis Challenge: Slicing Framework

slide-25
SLIDE 25

Challenge: CAD Synthesis

: CAD → STL : STL → G-code : G-code → Part

slide-26
SLIDE 26

Challenge: CAD Synthesis

???

: Idea → CAD : CAD → STL : STL → G-code : G-code → Part

slide-27
SLIDE 27

Today: Crowdsource Designs

: Internet → Idea → STL

slide-28
SLIDE 28

Today: Crowdsource Designs

: Internet → Idea → STL

+ Easy

slide-29
SLIDE 29

Today: Crowdsource Designs

: Internet → Idea → option STL

+ Easy

  • Incomplete
slide-30
SLIDE 30

Today: Crowdsource Designs

: Internet → Idea → option STL

+ Easy

  • Incomplete
  • Hard to modify
slide-31
SLIDE 31

Today: Crowdsource Designs

: Internet → Idea → option STL

Goal

For idea i, even when: ( , i) = None there often exists similar i’ such that: ( , i’) = Some s So: adapt “almost” design s to a design for i!

slide-32
SLIDE 32

Example “Almost” Designs

Rotated Hex Hole Broken Chicken Legs

slide-33
SLIDE 33

Inferring CAD to fix hex holder

slide-34
SLIDE 34

Inferring CAD to fix hex holder

Bent wrench not seating parallel :(

slide-35
SLIDE 35

Inferring CAD to fix hex holder

Bent wrench not seating parallel :( Simple mesh editing broke model.

slide-36
SLIDE 36

Inferring CAD to fix hex holder

slide-37
SLIDE 37

Inferring CAD to fix hex holder

Infer

(manual)

slide-38
SLIDE 38

Inferring CAD to fix hex holder

Infer Tweak

(manual) (small)

slide-39
SLIDE 39

Inferring CAD to fix hex holder

Infer Print Tweak

(manual) (small) (success)

slide-40
SLIDE 40

Inferring CAD to fix chicken

Legs too thing => broke! Expanding leg in STL tedious.

slide-41
SLIDE 41

Inferring CAD to fix chicken

Infer Print Tweak

(manual) (small) (success)

slide-42
SLIDE 42

Challenge: CAD Synthesis

: Internet → Idea → CAD : CAD → STL : STL → G-code : G-code → Part

decompiler

slide-43
SLIDE 43

3DP: PL Opportunity

3D Printing Background Challenge: CAD Synthesis Challenge: Slicing Framework

slide-44
SLIDE 44

Exploring Slicing Strategies

Partitioning [Chopper 12] Curved Layer FDM [CAD 08] Parallelization Approx [Wireprint 14] Multi-material [OpenFab 13]

slide-45
SLIDE 45

3DP Slicing Framework

Today: roll your own framework

Goal: LLVM / CIL for 3D Printing

Should enable exploring many new strategies:

  • error compensation
  • G-code synthesis with Z3
  • parallelizing peepholes
  • cross-part constraint
slide-46
SLIDE 46

3DP: PL Opportunity

Solid foundation:

  • compiler theory
  • fast solvers
  • diverse synthesis
  • num. methods

Goals:

  • fab theory
  • efficiency
  • self-stabilize
  • tools
slide-47
SLIDE 47

Compilers generate

  • ur environment.
slide-48
SLIDE 48

Compilers generate

  • ur environment.

PL folk can develop the tools to make it better.

slide-49
SLIDE 49

Compilers generate

  • ur environment.

PL folk can develop the tools to make it better.

Thank You!