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:

woodwork

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... 

woody2

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.

 

Banner


pg_parquet - Postgres To Parquet Interoperability
28/11/2024

pg_parquet is a new extension by Crunchy Data that allows a PostgreSQL instance to work with Parquet files. With pg_duckdb, pg_analytics and pg_mooncake all of which can access Parquet files, is  [ ... ]



Greenplum's Cloudberry Fork Enters Apache Incubator
17/12/2024

Cloudberry is the open source equivalent of Greenplum.
Now it is fostered by the Apache Foundation as it acquires incubating status.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

Last Updated ( Sunday, 08 December 2019 )