May 7-10, 2017 Asilomar, California

Programming Language Tools and Techniques for 3D Printing

Chandrakana Nandi, Anat Caspi, Dan Grossman and Zachary Tatlock

We propose a programming language research agenda for improving desktop-class manufacturing processes such as 3D printing. Our goal is to help make these processes more accurate, fast, reliable, and accessible to end-users. We focus on three major areas where 3D printing can benefit from programming language tools: design synthesis, optimizing compilation, and runtime monitoring. We present preliminary results on synthesizing editable CAD models from difficult-to-edit surface meshes, discuss potential new compilation strategies, and propose runtime monitoring techniques. We conclude by discussing additional near-future directions we intend to pursue.