Functionality-aware Retargeting of Mechanisms to 3D Shapes
RAN ZHANG, IST Austria
THOMAS AUZINGER, IST Austria
DUYGU CEYLAN, Adobe Research
WILMOT LI, Adobe Research
BERND BICKEL, IST Austria
target shape
mechanical template
functional model 3D printed prototype
RETARGETING
Fig. 1. Our interactive design system allows users to retarget a given mechanical template (top le) to an input shape (boom le). Our optimization-in-the-loop
approach generates a functional model (center) that can be 3D printed (right).
We present an interactive design system to create functional mechanical
objects. Our computational approach allows novice users to retarget an
existing mechanical template to a user-specied input shape. Our proposed
representation for a mechanical template encodes a parameterized mecha-
nism, mechanical constraints that ensure a physically valid conguration,
spatial relationships of mechanical parts to the user-provided shape, and
functional constraints that specify an intended functionality. We provide an
intuitive interface and optimization-in-the-loop approach for nding a valid
conguration of the mechanism and the shape to ensure that higher-level
functional goals are met. Our algorithm interactively optimizes the mecha-
nism while the user manipulates the placement of mechanical components
and the shape. Our system allows users to eciently explore various design
choices and to synthesize customized mechanical objects that can be fab-
ricated with rapid prototyping technologies. We demonstrate the ecacy
of our approach by retargeting various mechanical templates to dierent
shapes and fabricating the resulting functional mechanical objects.
CCS Concepts:
Computing methodologies Graphics systems and
interfaces
; Shape modeling;
Applied computing
Computer-aided
manufacturing;
Additional Key Words and Phrases: Fabrication, Functional structure, Me-
chanical structure
ACM Reference format:
Ran Zhang, Thomas Auzinger, Duygu Ceylan, Wilmot Li, and Bernd Bickel.
2017. Functionality-aware Retargeting of Mechanisms to 3D Shapes. ACM
Trans. Graph. 36, 4, Article 81 (July 2017), 13 pages.
DOI: http://dx.doi.org/10.1145/3072959.3073710
This project has received funding from the European Union’s Horizon 2020 research
and innovation program under the Marie Sklodowska-Curie grant agreement No 642841
and under the European Research Council (ERC) grant agreement No 715767.
©
2017 ACM. This is the author’s version of the work. It is posted here for your personal
use. Not for redistribution. The denitive Version of Record was published in ACM
Transactions on Graphics, https://doi.org/http://dx.doi.org/10.1145/3072959.3073710.
1 INTRODUCTION
The increasing accessiblity of rapid manufacturing devices and 3D
printing services has made it possible for more and more users
to fabricate a variety of functional objects. In recent years, many
compelling examples have emerged from the maker community,
including animated characters, mechanical automata, and simple
robots. However, despite steady advances in computer-aided digital
modeling tools, designing such functional objects is still very chal-
lenging and typically reserved for experts. Developing design tools
that facilitate this task and make it accessible to a wider audience
is an open research challenge at the intersection of computational
fabrication and computer graphics.
The goal of our work is to address this problem for functional
objects that are based on simple mechanisms, such as an assembly
of gears and gear trains, cams, or linkages. Functional mechanical
objects can be dened by a few high-level properties: form, which
represents the shape and appearance of the design; mechanical ar-
chitecture, which describes the conguration of mechanical parts;
and nally, the function resulting from the combination of form
and mechanical architecture. A challenge in designing such objects
with conventional tools is that the user must develop the form and
mechanism concurrently. This requires expertise both in shape mod-
eling and mechanical engineering. For example, to design a given
functional object, a typical workow usually requires modeling an
appropriate mechanism, shaping the form of the object, connecting
mechanism and shape, and eventually adapting both the shape and
the parameters of the mechanism to obtain a nal working pro-
totype. We envision a system that does not require modeling all
properties from scratch, but instead enables the reuse of an existing
mechanical architecture by retargeting it to a user-provided shape
ACM Transactions on Graphics, Vol. 36, No. 4, Article 81. Publication date: July 2017.
81:2 Ran Zhang, Thomas Auzinger, Duygu Ceylan, Wilmot Li, and Bernd Bickel
mechanical template
(Section 4)
target shape
user interaction
(Section 6)
optimization
(Section 5)
INTERACTIVE RETARGETINGINPUT FABRICATION
post-processing
(Section 7)
3D printed fuctional model
Fig. 2. Given a fully functional mechanical template and a target shape, we present a retargeting system which provides interactive tools to help retarget the
functionality of the template to the target shape. As the user specifies placement options of the mechanism inside the target shape or edits the shape, the
underlying optimization framework automatically computes a valid and functional configuration of the mechanical template that best matches the user
preferences. Once the user is satisfied with the retargeting output, our system computes support structures necessary for 3D fabrication.
such that the resulting object matches the desired aesthetic and
functional properties.
Our system is motivated by the observation that for many func-
tional objects, the mechanical architecture remains the same while
the form varies e.g., in toy design where the same mechanism
is reused for dierent versions of a given toy, in industrial design
where the appearance/styling of an object may vary more often than
the underlying mechanisms, and for prototyping, where exploration
of a design space involves creating several variations of a given idea.
In all cases, the dierent variations may require some modications
to the design parameters (e.g., due to geometric constraints) but
probably not a completely dierent mechanical architecture.
In this paper we present an interactive retargeting system that
enables users to adapt a given mechanical architecture to a target 3D
shape in order to produce a functional mechanical object (see Fig-
ure 1). A central design element of our approach is a decomposition
of the features into form, mechanical architecture, and relationships
of form, mechanical architecture, and function. The mechanical ar-
chitecture and their degrees of freedom, as well as rules that specify
relationships, are encoded in a mechanical template. A core con-
tribution of the paper is an interactive computational approach
that, in combination with a tailored user interface, enables users
to modify the placement of mechanical components and the shape
of the object, while an underlying optimization procedure updates
the overall design based on the relationship constraints to preserve
the desired functionality. Our optimization model is based on the
concept of dierential manipulation [Gleicher and Witkin 1991],
which supports constrained editing of geometric objects.
We have implemented a prototype design tool and validated our
approach by creating several mechanical objects and showing their
functionality as 3D printed models. Our system was tested by several
users without any background knowledge in mechanical design.
As shown in the results section, all of them were able to create
compelling functional models using our tools.
2 RELATED WORK
The advent of accessible fabrication methods has led to recent work
on various fabrication-aware modeling approaches both for static
and functional objects.
2.1 Design for Fabrication
3D printing is by far one of the most prevailing fabrication method
accessible to both professionals and novices. Therefore, we have
seen an increasing amount of research eort over the recent years
focusing on optimizing 3D designs for 3D printing. Previous work
has presented methods for decomposing large objects into smaller
parts [Luo et al
.
2012; Song et al
.
2015a], identifying the parts of the
object that may be exposed to high stress [Stava et al
.
2012; Zhou
et al
.
2013], generating robust scaolding [Dumas et al
.
2014], and
optimizing objects to reduce weight [2014] and fabrication time
[Beyer et al. 2015].
As the recent advances in digital fabrication have paved the road
to customization and personalization, a variety of approaches have
proposed computational tools for designing objects with custom
features, including desired appearance [Dong et al
.
2010] and defor-
mation properties [Bickel et al
.
2010; Pérez et al
.
2015], the ability to
stand [Prévost et al
.
2013], spin [Bächer et al
.
2014], y [Umetani et al
.
2014], and swing [Zhao et al
.
2016]. Umetani et al. [2012] present
an interactive framework for stable furniture design, Skouras et
al. [2014] focus on design of inatable structures, and Zimmer et
al. [2014] extend the scope of Zometool modeling to freeform, disk-
topology surfaces. Recently, computational methods for designing
connectors [Koyama et al
.
2015], twisty joints and puzzles [Sun
and Zheng 2015], scissor structures [Zhang et al
.
2016; Zheng et al
.
ACM Transactions on Graphics, Vol. 36, No. 4, Article 81. Publication date: July 2017.
Functionality-aware Retargeting of Mechanisms to 3D Shapes 81:3
2016], and multicopters [Du et al
.
2016] have been presented. While
these approaches demonstrate compelling results, they all focus on
mainly static objects. Our goal, in contrast, is to ease creation of
mechanical objects with desired functional behavior.
2.2 Mechanism Design
Mechanism design is traditionally divided into two stages. While
the conceptual design stage focuses on identifying the type of me-
chanical parts capable of realizing a desired motion [Chiou and
Sridhar 1999; Han and Lee 2006; Roy et al
.
2001], the subsequent
dimensional synthesis stage determines the conguration parame-
ters and the layout of these mechanical parts [Anantha et al
.
1996;
Haller et al
.
2009]. We have seen increasing eorts in the graphics
community to automate both of these stages to make the mech-
anism design process accessible to novice users. Some of these
approaches have focused on automatically realizing user-specied
motion requirements by utilizing a pre-dened set of mechanism
types [Ceylan et al
.
2013; Coros et al
.
2013; Megaro et al
.
2014; Song
et al
.
2015b; Zhu et al
.
2012]. Other approaches have presented
interactive systems that enable easy creation of mechanisms by
exploring a template mechanism library [Bharaj et al
.
2015; Kim
et al
.
2016; Koo et al
.
2014] while conguration parameters of the
mechanisms are automatically optimized to ensure physically and
mechanically valid designs. More recently, Ureta et al [2016] present
an interactive system that realizes physically valid joints for an in-
put geometry and user specied kinematic hierarchy. This body of
work focuses on a dierent fundamental design paradigm than our
method. Given motion or geometry requirements by a user, these
approaches aim at creating a design from scratch by assembling pre-
dened mechanical blocks. On the other hand, we follow a design
by example strategy where our goal is to explore the design space
of mechanisms starting from working examples.
2.3 Design by Example
Creating designs based on examples is a paradigm that has been
extensively studied in the graphics community to tackle challeng-
ing content creation problems. Researchers have proposed various
structure-aware editing algorithms to synthesize variations of a
given 3D model while preserving structural properties [Mitra et al
.
2013a] and data-driven approaches that focus on deriving generative
models (e.g. procedural grammars) from a set of examplars [Xu et al
.
2016a]. In the context of fabrication, Schulz et al. [2014] convert
a set of expert-created designs to parameterized building blocks
that can be used in an interactive system. Xie et al. [2015] present a
shape editing tool that provides feedback based on nite element
structural analysis. Starting from a working linkage-based character
where each link is driven by a motor, Thomaszewski et al. [2014]
leverage user guidance to explore dierent topologies to reduce
the number of motors. More recently, Xu et al. [2016b] presents an
interactive system to digitize a mechanisms from a set of input im-
ages. More closely related to our approach is the work of Bächer et
al. [2015] and Megaro et al. [2015], which provides tools to edit both
the shape and motion properties of a working mechanical assembly.
While our tool supports similar edits to a working design, a key
distinguishing feature of our method is that it enables retargeting
of a working mechanism to a completely new 3D shape. To this
end, our system preserves the desired mechanical and functional
properties of the original design and facilitates the creation of many
functional models starting from only a single working design.
3 OVERVIEW
The primary input to our system is a mechanical template
T
M
that
describes both the mechanical architecture (i.e., the set of mechanical
components and how they are connected) and functional properties
(e.g., a mechanical car driving in a straight line without slipping)
of a fully functional design. Given
T
M
, the user provides a target
shape
S
, a closed watertight surface mesh that should be turned
into a working object with the mechanical functionality of T
M
.
Our system provides interactive tools that help the user retar-
get
T
M
to t
S
as well as possible, while preserving the relevant
functional properties of the template. The nal output is a working
design that can be fabricated with additive manufacturing tech-
niques.
3.1 Design Considerations
We designed our interactive system to address several specic chal-
lenges related to the task of mechanical retargeting.
3.1.1 Correspondence ambiguity. In general, automatically in-
ferring how a mechanical template
T
M
should align to the user-
specied target shape
S
is very dicult, since there are typically no
obvious correspondences between the conguration of mechanical
parts in
T
M
and the geometry of
S
. Even if
T
M
is part of a com-
plete design that has an associated 3D shape, the geometry of that
shape will typically be suciently dierent from
S
to make corre-
spondences ambiguous. For example, imagine retargeting a driving
mechanism associated with a car shape to a target duck shape (see
Figure 2). Our system sidesteps this issue by providing an interface
that helps users directly establish the alignment between
T
M
and
S
.
3.1.2 Non-convexity. Due to the complex interplay between
function (formalized as constraints on the mechanical template pa-
rameters) and form (given by the potentially complex geometry of
the target shape) the space of valid retargeting solutions is highly
non-linear and non-convex making the problem of exploring the
design space extremely challenging. Our system supports several
user interactions that facilitate such design exploration.
3.1.3 No “optimal” result. Not only is the design space hard to
explore, the notion of an optimal retargeting output is also not
well-dened because the desired result is often subject to specic
user preferences that are hard to formalize and quantify. In this
sense, our system defers the nal judgment to the user instead of
automatically generating results that are likely to be sub-optimal
from the user’s perspective.
3.2 Our System
In light of these challenges, we propose an interactive system that
balances (i) fully automatic computational methods that ensure
physical validity and preservation of functionality and (ii) intuitive
user interactions to guide the retargeting process. More specically,
given
T
M
and
S
, we allow the user to directly manipulate both the
mechanical components and the target shape geometry (Section 6).
ACM Transactions on Graphics, Vol. 36, No. 4, Article 81. Publication date: July 2017.
81:4 Ran Zhang, Thomas Auzinger, Duygu Ceylan, Wilmot Li, and Bernd Bickel
In response to these edits, the system automatically optimizes the
mechanism as a whole to ensure that it remains fully functional
and physically valid (Section 5). This workow allows the user
to provide high-level guidance for how the template should be
retargeted, while the automated algorithms make the necessary low-
level adjustments to ensure that the overall design still works. Once
the user is happy with the re-targeted result, the system generates
support structures and component geometry to prepare the model
for fabrication (Section 7).
In addition to interactively guiding the retargeting process, our
system potentially requires the following user input. First, in order
to robustly retarget specic functionalities of a template to certain
parts of a target shape (e.g. a Wind-Up template which moves dif-
ferent limbs of a character), we require the user to segment the
target shape in a pre-processing stage to match the topology of
the template. Second, to ensure validity of the fabricated results,
the user provides a per-component minimum size (e.g. minimum
gear teeth count), a minimum clearance value between dierent
components, and a shell thickness value based on the specic choice
of the fabrication tool. The shell thickness parameter is used to
convert the target surface mesh into a fabrication-ready solid shell
by osetting (see Section 7).
We summarize the dierent components of our system in Figure 2.
We now rst describe how we represent a mechanical template
followed by a detailed description of the dierent components of
our system.
4 MECHANISM DESCRIPTION
In order to simplify the description of a mechanical template, we
exploit several properties that can be found in a large class of me-
chanical assemblies:
Reducibility:
We assume that a mechanical template
T
M
consists
of
N
C
‘atomic’ components
C
(e.g., the individual gears,
etc.).
Rigidity:
Each of the components is assumed to be an undeform-
able, rigid object.
Pairwise contact:
The interactions between the components is
determined by their pairwise inuences (e.g., an assembly
of gears can be described by the pairwise contacts among
them).
These assumptions allow us to represent
T
M
as a graph, whose
vertices are the components
C
of
T
M
and whose edges indicate
mechanical relationships between (ordered) pairs of components
(see Figure 3). The actual nature of such a relationship (e.g., two
gears are touching) is described by a connection type
τ
conn
that is
assigned to each edge. This representation is very similar to the
interaction graph dened by Mitra et al. [2013b].
The components are categorized into component typ es
τ
comp
(e.g.,
gears, linkages) to allow for a more structured description. Each
component
C
i
is equipped with a set of continuous parameters
p
i
that will be used to describe its geometric and functional properties.
All components have a position x R
3
and orientation d R
3
\ 0.
Certain component types have additional geometric parameters;
e.g., disk-shaped components, such as gears and wheels, possess a
radius
r R
, while axles are assigned a length
l R
. We denote the
(closed) 3D shape of a component C
i
with parameters p
i
as G
C
i
.
Possible connection types between a pair of components include
Fix which enforces a xed spatial relationship (e.g., a wheel placed
at the end of an axle), Slide which allows a component to slide
along the axis of another component (e.g. a gear to be placed along
an axle), and Touch which ensures the surface of two components
touch each other without colliding (e.g. that the teeth of two gears
touch in a compatible way).
In order to support certain relationships between a mechanical
template and its environment, we represent the environment as an
additional component and dene edges to denote these relationships.
A mechanical car template, for example, requires all its wheels
to be in contact with the ground plane, represented as a Touch
connection type. Certain xation relations between the components
of the mechanical template and a possible target shape (e.g. an axle
should be xed to the geometry) are encoded similarly (Section 7
provides a detailed discussion).
Given such a decomposition, the parameters
p
of a mechanical
template are the aggregation of all parameters
p
i
of its compo-
nents
C
i
, i.e.,
p = (p
1
, · · · , p
N
C
)
. Moreover, associated with each
connection type are a set of constraints that need to be satised to
ensure a working mechanical template. We now describe the con-
straints supported by our system in detail and refer to the supplemen-
tary material for a complete description of an example mechanical
template along with its parameters and associated constraints.
4.1 Constraints
The functionality of a mechanical template is determined by the
interactions among the individual components as well as the inter-
actions between the components and the target shape. We identify
three kinds of constraints to formalize these interactions: (i) low-
level mechanical constraints ensure the validity of the mechanism;
(ii) high-level functional constraints specify the intended functional-
ity of the whole mechanism; and (iii) spatial constraints dene the
relationship between the mechanical components and the target
shape. While all these constraints are represented as part of the me-
chanical template, spatial constraints can also be augmented during
the interactive retargeting process with user-specied placement
C
0
C
1
C
2
C
3
mechanical template T
M
C
0
C
1
C
2
C
3
Touch
Fix
Slide
graph representation
Fig. 3. We demonstrate a simple mechanical template
T
M
(composed of
two spur gears, one bevel gear, and an axle) and the corresponding graph
representation which shows the pairwise connection types between the
components.
ACM Transactions on Graphics, Vol. 36, No. 4, Article 81. Publication date: July 2017.