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.
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.
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.
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.