  We introduce Curvy-an interactive design tool to generate varying density
support structures for 3D printing. Support structures are essential for
printing models with extreme overhangs. Yet, they often cause defects on
contact areas, resulting in poor surface quality. Low-level design of support
structures may alleviate such negative effects. However, it is tedious and
unintuitive for novice users as it is hard to predict the impact of changes to
the support structure on the final printed part. Curvy allows users to define
their high-level preferences on the surface quality directly on the target
object rather than explicitly designing the supports. These preferences are
then automatically translated into low-level design parameters to generate the
support structure. Underlying novel curvy zigzag toolpathing algorithm uses
these instructions to generate varying density supports by altering the spacing
between individual paths in order to achieve prescribed quality. Combined with
the build orientation optimization, Curvy provides a practical solution to the
design of support structures with minimal perceptual or functional impact on
the target part to be printed.
