FlatCAD and FlatLang

FlatCAD is a 3D modeling environment controlled by programming in a domain-specific language called FlatLang. The physical objects on the side of this page were all designed with FlatCAD and manufactured on a laser cutter.

FlatCAD was presented at VL/HCC 2008. Read the paper or view a PDF of the slides.

This work was done in the Computational Design Lab at Carnegie Mellon University. It was primarily written by Gabe Johnson with guidance from Mark D. Gross. It was funded by NSF Grant ITR-0326054.

You can download FlatCAD and try your hand in programming in FlatLang and making physical constructions of your own. If you are familiar with LOGO, FlatLang should be relatively easy to pick up. Just pick one of the binaries below. The Java source code is available under the GPL (version 2).

Windows version of FlatCAD (double click flatcad.bat)
Macintosh OS X version of FlatCAD (double click flatcad.command)
Linux version of FlatCAD (execute flatcad shell script)
Subversion repository Java source code (hackers only!)

If you download FlatCAD and have questions or comments, I would love to hear from you. Email me at johnsogg@cmu.edu.