Title: Programming Language Techniques for 3D Printing

Advisor: Daniel Grossman and Zachary Tatlock

Supervisory Committee: Dan Grossman (Co-Chair), Zachary Tatlock (Co-Chair), Nadya Peek (GSR, HCDE), Adriana Schulz, Eva Darulova (MPI-SWS)

Abstract:

Recent democratization of fabrication techniques has revolutionized manufacturing. Desktop versions of devices like 3D printers, laser cutters, and CNC mills are now available at affordable prices making them increasingly common among end-users, hobbyists, and non-experts. While the reduced hardware cost of manufacturing devices has created new opportunity for casual makers to innovate and explore, the corresponding software pipeline has not advanced as dramatically. Design tools, mesh editing software, and device firmware are developed primarily for trained experts and thus pose a steep learning curve for beginners. The fabrication process itself is often unreliable leading to unsatisfactory results. Identifying the cause of failure in such cases is challenging because it could be in one or more stages of a multi-stage software pipeline. Depending on the size and complexity of a design, it can take several hours or even days for a fabrication process to complete. These factors together, makes the entire process tedious, lengthy, and error-prone.

This talk will propose a doctoral thesis that aims to build a reliable, easy-to-use, and fast software pipeline for desktop fabrication processes. It relies on the key insight that the entire fabrication pipeline is a compiler and leverages tools and techniques from programming languages and compiler theory. The talk will focus on four research ideas: (1) formal semantics and correctness of a CAD compiler, (2) program synthesis for reverse engineering CAD programs from meshs, (3) design parameter inference using semantics preserving rewrites and constraint solvers, and (4) a compiler for parallel toolpath generation.

 

Place: 
CSE2 271 (Gates Center)
When: 
Thursday, September 19, 2019 - 09:00 to Saturday, April 20, 2024 - 08:41