Post on 11-Jul-2020
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: