Goal

This was one of the most exciting projects I worked on so far. The motivation for this project came from my first attempts to print complex objects on a 3d printer. The first object I had printed at Z-Corporation was an ornamental bowl that broke into pieces during shipping. I started to think about how to prevent that from happening.

3DPrinting
Pieces of an ornamental bowl designed on a computer and 3D printed. It broke during shipping.

Thus when Ondrej Stava started as my intern in the summer of 2011 I already had this goal in mind: to analyze and fix printability problems that can occur during 3D printing or subsequent handling of computer generated objects. In particular, we wanted to make sure that a given object is going to be structurally stable and that it will not break, under normal use conditions, after it is printed.

Solution

We developed a system that addresses the printability issues by providing automatic detection and correction of the problematic cases.

Our system detects potential problematic cases by considering gravity and gripping forces by evaluating most possible places on the object where it can be held.

For each detected case the structural problems are evaluated by combining a lightweight structure analysis solver with 3D medial axis approximations. If areas with high structural stress are found, the model is corrected by combining three approaches: hollowing, thickening, and strut insertion. This detection and correction repeats until all problematic cases are corrected.

Our process is designed to create a model that is visually similar to the original model, while possessing greater structural integrity.

3Dprinting teaser
Example of application of our system. A model of a dragon was first hollowed to reduce stress caused by its weight if held by the head (a). The stress decreased, but the neck had to be still thickened (b,c). The object was still too front heavy causing a twist deformation on the legs (c), that was eliminated by fixing the model to the pedestal by a strut (red) (d). These steps were done automatically by the system.

Collaboration with Purdue University

The project started as Ondrej's internship at Adobe, where Nathan Car was instrumental in coming up with rigorous methods for parts of the correction framework. At the end of the internship we saw that the results were promising but that more work was needed. We asked Ondrej's advisor, Bedrich Benes, for help and he with another student, Jural Vanek, helped us to bring the project to a successful finish.