Creating Works-like Prototypes of Mechanical...

Post on 11-Jul-2020

6 views 0 download

Transcript of Creating Works-like Prototypes of Mechanical...

Creating Works-like Prototypes of Mechanical ObjectsBongjin Koo1 Wilmot Li2 JiaXian Yao3 Maneesh Agrawala3

Niloy J. Mitra1!!1University College London 2Adobe Research 3UC Berkeley!!

Design process example

Design

Design process example

Design Prototype

Design process example

Design Prototype Evaluation

Design process example

Design Prototype Evaluation

Design process example

Design Prototype Evaluation

Design process example

Design Prototype Evaluation

Bottleneck

Works-like prototypes

Many iterations

ContributionsIdentified useful high-level functional relationships

ContributionsIdentified useful high-level functional relationships

Interactive tool for creating works-like prototypes

Proposed system

Proposed system

Proposed system

Related work

1. Analysing designs

Bae et al. 2008, Shao et al. 2012, Xu et al. 2014

Shao et al. 2013

Schmidt et al. 2009

2. Tools for digital fabrication

Umetani et al. 2012

Bächer et al. 2012, Calì et al. 2012, Stava et al. 2012, Zhu et al. 2012, Ceylan et al. 2013, Prévost et al. 2013

Coros et al. 2013

3. Constraint-based modelling

Gal et al. 2009

Daniel and Lucas 1997, Yvars 2008, Bokeloh et al. 2012, Zheng et al. 2012

Xu et al. 2009

OverviewInput

Output

OverviewInput

Output

1. Constraints

OverviewInput

Output

1. Constraints

2. Optimisation

Parts Axis-aligned cuboids

Generating parts

Generating parts

Generating parts

Shao et al. 2013

Joints

1. Hinge

2. Sliding joint

3. Sliding hinge

4. Double pivot

OverviewInput

1. Constraints

Functional relationships

Functional relationships

1. Cover

1. Cover

Cover(FA ,FB ,M , J,Θ)FA covers FB

M : a corresponding faces graphJ(Θ) : the set of joints and parameters

Box(FA )l ≤ Box(FB )l Box(FA )r ≥ Box(FB )rBox(FA )b ≤ Box(FB )b Box(FA )t ≥ Box(FB )t

1. Cover

1. Cover

1. Cover

Box( f1A )b = Box( f2

A )tBox( f1

A )b = Box( f3A )t

Box( f2A )r = Box( f3

A )l

2. Fit inside

2. Fit inside

Fit(PA , pB , J,Θ)PA fit inside pB

J(Θ) : the set of joints and parameters

Box(PA )l ≥ Box(pB )l Box(PA )r ≤ Box(pB )rBox(PA )b ≥ Box(pB )b Box(PA )t ≤ Box(pB )tBox(PA )n ≥ Box(pB )n Box(PA ) f ≤ Box(pB ) f

2. Fit inside

3. Support

flA < fr

B ftA < fb

B

frA > fl

B fbA > ft

B

ctA = cb

B

Support(FA ,FB ,M , J,Θ)FA ,FB : the set of supporting / supported facesM : a corresponding faces graphJ(Θ) : the set of joints and parameters

4. Flush

Flush( f A , f B , J,Θ)f A , f B : the two faces that are flushJ(Θ) : the set of joints and parameters

Specifying functional relationships

Specifying functional relationships

Double pivot joints go wrong

Double pivot joints go wrong

Double pivot joint constraints

Double pivot joint constraints

Double pivot joint constraints

Position constraint!!

Motion constraint

1. Position constraint

(x2A − x1

A ) ⋅(xmA − xB ) = 0

2. Motion constraint

2. Motion constraint

Lone > hA + (hB + b) / 2

OverviewInput

1. Constraints

2. Optimisation

Part and joint optimisation

E(B,L) = Bi − Bi2+

i∑ Lj − Lj

2

j∑

subject to functional constraints

Part and joint optimisation

E(B,L) = Bi − Bi2+

i∑ Lj − Lj

2

j∑

subject to functional constraints

OverviewInput

Output

1. Constraints

2. Optimisation

Ready-to-fabricate modelsCavities

Ready-to-fabricate modelsCavities

Joint geometry

Ready-to-fabricate modelsCavities

Joint geometry

Gaps

Results

Results

Results

LimitationsLimited part and joint types

LimitationsLimited part and joint types

Few functional relationships

Thanks!Model STLs available on:

Sponsors: