Carpentry Compiler - Yes The Target Is Wood
Written by Mike James   
Sunday, 08 December 2019

We tend to think that software, and compilers in particular, are concerned with other software rather than the real world. The Carpentry Compiler is different - its target really is wood.

Researchers at the University of Washington created Carpentry Compiler and presented it at SIGGRAPH Asia. The idea is simple to understand. If you want to make something in wood then you can describe the end result and the Carpentry Compiler will output instructions on how you can make it - taking into account the resources you have to hand.

"This paper presents HL-HELM, a high-level, domain-specific language for expressing abstract, parametric fabrication plans; it also introduces LL-HELM, a low-level language for expressing concrete fabrication plans that take into account the physical constraints of available manufacturing processes. We present a new compiler that supports the real-time, unoptimized translation of high-level, geometric fabrication operations into concrete, tool-specific fabrication instructions; this gives users immediate feedback on the physical feasibility of plans as they design them."

For me the interesting features are the way it uses a range of possible starting materials and the complex mix of tools available with which you have to work out how to make the object. It even works out a cutting plan that minimizes your work. If you play around with such things you might share my feeling that this spoils a lot of the fun. There is nothing so good as planning how to make something using what you have - but I can also see the attraction of automating the process if fun isn't your only concern.

To see some of the detail check out the video:

Here are some of the things it was able to make:


You can find out exactly what each one is by consulting the paper, but I can tell you that the only really difficult one, i.e. C, is a bookcase.

As well as regarding software as mostly just about other software when we do think about using it to create real things we tend to think about using a single do-it-all machine like a 3D printer or a milling machine. The idea of compiling to a sequence of tasks using different tools is generalizable.

"Our key insight is that fabrication plans are programs."

What about jewellery compiler, metal small part, scale model compiler and so on... 


More Information

Carpentry Compiler Chenming Wu, Haisen Zhao, Chandrakana Nandi,  Jeffrey I. Lipton,  Zachary Tatlock and Adriana Schulz.

Related Articles

Dismantle That 3D Printer - Build An Air Hockey Robot Instead!

Instant Print 3D Objects Using Tomography

A 3D Printer For Plushies

WebGL 3D Sculpture Demo        

A Robot With A Chainsaw!       

3D Printing 101 - The Programmer's Angle        

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



Integrate Azure and Spring with Spring Cloud Azure

Spring Cloud Azure is an open-source project that provides seamless Spring integration with Azure services. It has now reached version 4.0.

Neural Networks Take On Traveling Salesman

The Traveling Saleman problem can be solved better by a neural network approach than by traditional methods - is this important?

More News





or email your comment to:


Last Updated ( Sunday, 08 December 2019 )