PL Tools and Techniques for 3D Printing

Our research aims at improving desktop-class manufacturing processes such as 3D-printing, with the goal to make these process 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.

Now, we have developed a system for compiling and decompiling CAD programs. We have published this software for ICFP 2018, and now you can try too. See the documentation page for specifics, check out the examples page for inspiration, or dive right in to the IDE and give it a go!

Publications

ICFP 2018
Chandrakana Nandi, James R. Wilcox, Pavel Panchekha, Taylor Blau, Dan Grossman, Zachary Tatlock. Functional Programming for Compiling and Decompiling Computer-Aided Design. pdf artifact
SNAPL 2017
Chandrakana Nandi, Anat Caspi, Dan Grossman, Zachary Tatlock. Programming Language Tools and Techniques for 3D Printing. pdf

News

Grant Secured
June 11, 2018

Zach and Dan won an NSF grant. Congratulations!

ICFP 2018
May 18, 2018

Our paper on Functional Programming for Compiling and Decompiling CAD is accepted to ICFP 2018!

SNAPL 2017
February 24, 2017

Our paper Programming Language Tools and Techniques for 3-D Printing is to appear in SNAPL 2017!