COMPUTER-AIDED DESIGN & APPLICATIONS 299
thegraph,wecanndthatmosttestmodels(except
for Legoman) have only one local-minimum or two
local-minima. Detailed information is shown in mid-
dle column of Tab. 4. Although both segmentation steps
result in unnecessarily tiny components (Fig. 5(a, b)), our
merging strategy successfully combines tiny components
intolargeonesforbetterresults(Fig.5(c)). Details can be
found in right column of Tab. 4.
Figure 6. Graph of R
floating
(l),whichtakesratiooffloating blocks
in whole blocks.
Note that Fig. 5 revealsanimportantfeatureof
our component generation method: segmentation along
the horizontal pseudo oor/oors mightbelocally
unwise sometimes (see sunglasses, dolphin and cat in
Fig. 5b); however, segmentation along horizontal pseudo
oor/oors is able to be revised locally, because a wise
remerging is possible due to a wise segmentation of exist-
ing block segments at local disjunctions. Currently, local
disjunctions are identied by weakly-connected blocks in
fragileblockmodel.Inthefuture,forablockmodelbeing
not fragile, other ecient segmentation methods can also
be easily integrated into our current method.
Assembly order of components determined by our
method is illustrated in Fig. 5(c) as well. As expected, joint
components aretobebuiltearlier(inawarmercolor),and
symmetric component-pairs to be built successively are
insimilarcolors.Thisdemonstratestheeectivenessof
our ordering.
4.2. Auto-generation of instruction guide
Tab. 5 compares the instruction guide generated by our
method with those generated by LEGO Digital Designer
[7] and LEGO Instruction Creator [8]. We used in our
test the cat model shown in Fig. 5,whichconsistsof93
blocks and 7 weakly-connected blocks in total. On the
onehand,wefoundthattheinstructionguidegenerated
by LEGO Instruction Creator showed some steps with
oating blocks, while our layer-by-layer assembly inside
each component avoided oating blocks. On the other
hand, we found in the test that the assembly starting from
the feet was breakable, because earlier-built weak parts
of the feet interfered with the smooth assembly of the
rest.However,unliketheothertwosystemswhichdid
not generate separate components for the feet, in our
instruction guide, the assembly of the separate foot com-
ponents was near the end, and thus, it seldom aected the
assembly of other components.
We recruited four undergraduate volunteers to test
the time eciency of the instruction guides generated
by our system and LEGO Digital Designer. The results
showed that all subjects completed the cat model in much
less time when using our instructions. The average time
needed to complete the model with our instructions was
17 min, which is about 60% of the time needed with
LEGO Digital Designer’s instructions.
5. Conclusions and future work
To help the ecient assembly of fragile LEGO mod-
els, we proposed a method for automatic generation of
component-based building instructions. We divide up
a model into components by considering segmentation
at both the weakly-connected blocks and the incoher-
ent spots identied by oating blocks.Weimplemented
our method and evaluated the eciency of the instruc-
tions it generated for several models. We also compared
the instruction guide generated by our prototype system
with those generated by the well-known LEGO Digi-
tal Designer, and another software tool called LEGO
Instruction Creator.
In this paper, we mainly focus on low-resolution block
models, which are usually small enough to be assembled
insideourhands.Itseemsthatourassemblyeciency
has not been greatly troubled by the equilibrium of com-
ponents. However, to make our proposed method more
compatible with various kinds of block models, we can
evolve our component generation to satisfy more require-
ments, e.g., components with more perceivable shapes,
the static equilibrium of component during assembly.
Moreover, a benchmark of block models is expected to
Table 5. Step-by-step instructions created by three systems.
# of components
Max/Min # of blocks in
component
Instructions steps for
component With first block for
Our system 10 (see Fig. 5) 53/1 layer-by-layer body
LEGO Digital Designer 2 (body & tail) 89/4 block-by-block foot
LEGO Instruction Creator 1 (whole) 93 layer-by-layer foot