Expressing and Reusing Design Intent in 3D Models

Picture of 3D models and a printout

Megan K Hofmann, Gabriella Han, Scott E Hudson, Jennifer Mankoff. Greater Than the Sum of Its PARTs: Expressing and Reusing Design Intent in 3D Models CHI 2018, To Appear.

With the increasing popularity of consumer-grade 3D printing, many people are creating, and even more using, objects shared on sites such as Thingiverse. However, our formative study of 962 Thingiverse models shows a lack of re-use of models, perhaps due to the advanced skills needed for 3D modeling. An end user program perspective on 3D modeling is needed. Our framework (PARTs) empowers amateur modelers to graphically specify design intent through geometry. PARTs includes a GUI, scripting API and exemplar library of assertions which test design expectations and integrators which act on intent to create geometry. PARTs lets modelers integrate advanced, model specific functionality into designs, so that they can be re-used and extended, without programming. In two workshops, we show that PARTs helps to create 3D printable models, and modify existing models more easily than with a standard tool.

Picture of 3D models and a printout

Uncertainty in Measurement

Examples of 3d printed objects that are robust to measurement uncertainty.

Kim, J., Guo, A., Yeh, T., Hudson, S. E., & Mankoff, J. (2017, June). Understanding Uncertainty in Measurement and Accommodating its Impact in 3D Modeling and Printing. In Proceedings of the 2017 Conference on Designing Interactive Systems (pp. 1067-1078). ACM.

3D printing enables everyday users to augment objects around them with personalized adaptations. There has been a proliferation of 3D models available on sharing platforms supporting this. If a model is parametric, a novice modeler can obtain a custom model simply by entering a few parameters (e.g., in the Customizer tool on In theory, such custom models could fit any real world object one intends to augment. But in practice, a printed model seldom fits on the first try; multiple iterations are often necessary, wasting a considerable amount of time and material. We argue that parameterization or scaling alone is not sufficient for customizability, because users must correctly measure an object to specify parameters.

In a study of attempts to measure length, angle, and diameter, we demonstrate measurement errors as a significant (yet often overlooked) factor that adversely impacts the adaptation of 3D models to existing objects, requiring increased iteration. Images taken from our study are shown below.

We argue for a new design principle—accommodating measurement uncertainty—that designers as well as novices should begin to consider. We offer two strategies—modular joint and, buffer insertion—to help designers to build models that are robust to measurement uncertainty. Examples shown below.



Volunteer AT Fabricators

Perry-Hill, J., Shi, P., Mankoff, J. & Ashbrook, D. Understanding Volunteer AT Fabricators: Opportunities and Challenges in DIY-AT for Others in e-NABLE. Accepted to CHI 2017

We present the results of a study of e-NABLE, a distributed, collaborative volunteer effort to design and fabricate upper-limb assistive technology devices for limb-different users. Informed by interviews with 14 stakeholders in e-NABLE, including volunteers and clinicians, we discuss differences and synergies among each group with respect to motivations, skills, and perceptions of risks inherent in the project. We found that both groups are motivated to be involved in e-NABLE by the ability to use their skills to help others, and that their skill sets are complementary, but that their different perceptions of risk may result in uneven outcomes or missed expectations for end users. We offer four opportunities for design and technology to enhance the stakeholders’ abilities to work together.

Screen Shot 2017-03-14 at 1.09.13 PMA variety of 3D-printed upper-limb assistive technology devices designed and produced by volunteers in the e-NABLE community. Photos were taken by the fourth author in the e-NABLE lab on RIT’s campus.

Tactile Interfaces to Appliances

Anhong Guo, Jeeeun Kim, Xiang ‘Anthony’ Chen, Tom Yeh, Scott E. Hudson, Jennifer Mankoff, & Jeffrey P. Bigham, Facade: Auto-generating Tactile Interfaces to Appliances, In Proceedings of the 35th Annual ACM Conference on Human Factors in Computing Systems (CHI’17), Denver, CO (To appear)

Common appliances have shifted toward flat interface panels, making them inaccessible to blind people. Although blind people can label appliances with Braille stickers, doing so generally requires sighted assistance to identify the original functions and apply the labels. We introduce Facade – a crowdsourced fabrication pipeline to help blind people independently make physical interfaces accessible by adding a 3D printed augmentation of tactile buttons overlaying the original panel. Facade users capture a photo of the appliance with a readily available fiducial marker (a dollar bill) for recovering size information. This image is sent to multiple crowd workers, who work in parallel to quickly label and describe elements of the interface. Facade then generates a 3D model for a layer of tactile and pressable buttons that fits over the original controls. Finally, a home 3D printer or commercial service fabricates the layer, which is then aligned and attached to the interface by the blind person. We demonstrate the viability of Facade in a study with 11 blind participants.


3D Printing with Embedded Textiles


Stretching the Bounds of 3D Printing with Embedded Textiles

Textiles are an old and well developed technology that have many desirable characteristics. They can be easily folded, twisted, deformed, or cut; some can be stretched; many are soft. Textiles can maintain their shape when placed under tension and can even be engineered with variable stretching ability.

When combined, textiles and 3D printing open up new opportunities for rapidly creating rigid objects with embedded flexibility as well as soft materials imbued with additional functionality. We introduce a suite of techniques for integrating the two and demonstrate how the malleability, stretchability and aesthetic qualities of textiles can enhance rigid printed objects, and how textiles can be augmented with functional properties enabled by 3D printing.

Click images below to see more detail:


Rivera, M.L., Moukperian, M., Ashbrook, D., Mankoff, J., Hudson, S.E. 2017. Stretching the Bounds of 3D Printing with Embedded Textiles. To appear in to the annual ACM conference on Human Factors in Computing Systems. CHI ‘17. [Paper]

Printable Adaptations

Shows someone placing a pen in a cap with two different types of adaptations.

Reprise: A Design Tool for Specifying, Generating, and Customizing 3D Printable Adaptations on Everyday Objects

Reprise is a tool for creating custom adaptive 3D printable designs for making it easier to manipulate everything from tools to zipper pulls. Reprise’s library is based on a survey of about 3,000 assistive technology and life hacks drawn from textbooks on the topic as well as Thingiverse. Using Reprise, it is possible to specify a type of action (such as grasp or pull), indicate the direction of action on a 3D model of the object being adapted, parameterize the action in a simple GUI, specify an attachment method, and produce a 3D model that is ready to print.

Xiang ‘Anthony’ Chen, Jeeeun Kim, Jennifer Mankoff, Tovi Grossman, Stelian Coros, Scott Hudson (2016). Reprise: A Design Tool for Specifying, Generating, and Customizing 3D Printable Adaptations on Everyday Objects. Proceedings of the 29th Annual ACM Symposium on User Interface Software and Technology (UIST 2016) (pdf)

This slideshow requires JavaScript.

A Knitting Machine Compiler

A teddy bear wearing a knit hat, scarf (with pocket) and sweater


A teddy bear wearing a knit hat, scarf (with pocket) and sweaterAlthough industrial knitting machines can automatically produce a wide range of garments, they are programmed through onerous means such as pixel level image manipulation. This limits the potential for automation of knitted object design, re-use of object components, and narrows the audience able to design for these machines. Our contribution is a visual design interface for specifying objects in terms of tubes and sheets and a compiler that can convert such an object into knittable machine instructions which handle knotty issues such as transfer planning (among needles) correctly. We demonstrate the range of objects our approach supports by example.

A Compiler for 3D Machine Knitting (SIGGRAPH 2016) Jim McCannLea Albaugh,
Vidya NarayananApril GrowWojciech MatusikJennifer MankoffJessica Hodgins

RapID — interactive RFID

Tic Tac Toe board in use

RapID – A framework for fabricating low-latency interactive objects with RFID tags

RFID tags can be used to add inexpensive, wireless, batteryless sensing to objects. However, quickly and accurately estimating the state of an RFID tag is difficult. In this work, we show how to achieve low-latency manipulation and movement sensing with off-the-shelf RFID tags and readers. Our approach couples a probabilistic filtering layer with a monte- carlo-sampling-based interaction layer, preserving uncertainty in tag reads until they can be resolved in the context of interactions. This allows designers’ code to reason about inputs at a high level. We demonstrate the effectiveness of our approach with a number of interactive objects, along with a library of components that can be combined to make new designs.

bestRapID: A Framework for Fabricating Low-Latency Interactive Objects with RFID Tags (CHI 2016, Page 5897) Andrew Spielberg, Alanson Sample, Scott E. Hudson, Jennifer Mankoff, James McCann

mixer-use quiz-use tic-tac-toe-play
pong-use pong-build tic-tac-toe-sketchup


Image of embroidery machine head playing the Threadsteading game

In work done collaboratively with Disney Research Pittsburgh and led by Gillian Smith of Northeastern we explored a multi-player game that can be embedded into a quilting and/or embroidery machine interface. Gameplay is constrained by the fact that only a single thread of fabric can be drawn over time. Players compete to ‘scout’ over a map (a hex grid), where different hexes have different costs to explore.

Threadsteading map and custom control panel for quilting machine (light sunder fabric)

Threadsteading was accepted to Alt.CTRL.GDC.

G. Smith, A. Grow, C. Liu, L. Albaugh, J. Mankoff and J. McCann. Threadsteading: A single-line, two-player, territory-control game for quilting and embroidery machines. alt.ctrl.GDC 2016.

3D printed attachments

Encore: 3D printed attachments

What happens when you want to 3D print something that must interact with the real world? The Encore project makes it possible to 3D print objects that must attach to things in the real world. Encore provides an interface that, given an imported object and a chosen attachment method, visualizes metrics relating the goodness of the attachment. In addition, once an attachment type and location is chosen, Encore helps to produce the necessary support structure for attachment. Encore supports three main types of attachment: print-over, print-to-affix, and print-through.


Print-over attachments are printed directly on the existing object. This works well if the object is flat enough that the print head won’t encounter obstacles as it moves, and the object is made of a material that the printed material will easily adhere to. Encore helps by finding a rotation of the existing object that minimizes obstacles, and generating support material to hold the existing object in place.

Printing a magnet holder over a Teddy bear toy.
Left: printing an LED casing on a battery to make a simple torch; right: printing a handle to an espresso cup.


An alternative that is useful when the existing object does not fit on the print bed is print-to-affix. In this approach, the attachment is designed to fit snugly against the existing object. It may be glued in place, or can include holes for a strap, such as a zip tie.

Left: printing a structure to make a glue gun stand; right: printing a reusable four-pack holder.


Finally, sometimes the attachment should be interlocked more loosely with the existing object. In this case, the process is to begin printing and stop the print partway through so that the existing object can be inserted. Encore can compute when this stopping point should be (and
whether it is possible)

A name tag printed through a pair of scissors
A bracelet printed through a charm

Encore the Design Tool

Encore is implemented in WebGL. It supports importation of an existing object, selection of an attachment, and then lets the user click to indicate where the attachment will go. Given this information, it uses geometric analysis to compute metrics for goodness of attachment, such as attachability and strength. Encore visualizes them using a heat map so that the user can adjust the attachment point.

Encore visualizes which parts of a wrench are more attachable when printing over a handle.

More Examples

Using print-to-affix to make a trophy from an egg holder

Using print-over to make a minion keychain

Using print-over to add a hanger to a screwdriver handle

Using print-through to make a key ring.

Using print-to-affix to make a battery case
Xiang ‘Anthony’ Chen, Stelian Coros, Jennifer Mankoff, Scott Hudson (2015). Encore: 3D Printed Augmentation of Everyday Objects with Printed-Over, Affixed and Interlocked Attachments. Proceedings of the 28th Annual ACM Symposium on User Interface Software and Technology (UIST 2015)