Nav: Home

Carpentry Compiler helps woodworkers design objects that they can actually make

December 02, 2019

As the holidays approach, people might be thinking of neat do-it-yourself woodworking projects to give as gifts. But there's often a disconnect between designing an object and coming up with the best way to make it.

Now researchers at the University of Washington have created Carpentry Compiler, a digital tool that allows users to design woodworking projects. Once a project is designed, the tool creates optimized fabrication instructions based on the materials and equipment a user has available. The team presented this research Nov. 19 at SIGGRAPH Asia in Brisbane, Australia.

"To make a good design, you need to think about how it will be made," said senior author Adriana Schulz, an assistant professor in the Paul G. Allen School of Computer Science & Engineering. "Then we have this very difficult problem of optimizing the fabrication instructions while we are also optimizing the design. But if you think of both design and fabrication as programs, you can use methods from programming languages to solve problems in carpentry, which is really cool."

For Carpentry Compiler, the researchers created a system called Hardware Extensible Languages for Manufacturing, or HELM. HELM is composed of two different programming languages: a high-level language for designing an object, and then a low-level language for the fabrication instructions.

"Say I want to make a piece of wood that's cut at a 45-degree angle," Schulz said. "In the design user interface, I create a box and then I draw a line where I want the cut to be and tell the computer 'Remove this part.' That's the high-level language. Then the low-level language says 'Take a two-by-four, take your chop saw, set up your chop saw for a 45-degree angle, align the lumber to your chop saw and chop.'"

As the user designs an object using the high-level language, which looks similar to standard CAD software, a compiler verifies that the design is possible based on what tools and materials the user has specified they have. Once the user is finished designing, the compiler comes up with a set of optimal fabrication instructions based on different costs.

"If you want to make a bookcase, it will give you multiple plans to make it," Schulz said. "One might use less material. Another one might be more precise because it uses a more precise tool. And a third one is faster, but it uses more material. All these plans make the same bookcase, but they are not identical in terms of cost. These are examples of tradeoffs that a designer could explore."

The compiler has to sift through a huge space of possible combinations of instructions to find the best ones. But if it treats fabrication instructions like a program, then it can use programming tricks to simplify its search and select promising candidates.

"One program might have a good way to make the edge of the table; another one finds a good way to make the legs," said co-author Zachary Tatlock, an associate professor in the Allen School. "And we can find those and recombine them to make the best overall plan."

Currently Carpentry Compiler is optimizing fabrication plans based on fabrication time and precision. In the future, the team would like it to take into account grain orientation and uncertainty in using specific types of tools. From there, the team hopes to expand this idea to more complex projects -- such as a project that requires woodworking and 3D printing.

"The future of manufacturing is about being able to create diverse, customizable high-performing parts," Schulz said. "Previous revolutions have been about productivity mostly. But now it's about what we can make. And who can make it."
Additional co-authors are Chenming Wu, a doctoral student at Tsinghua University who completed this research as a visiting student at the UW; Haisen Zhao, a postdoctoral research associate in the Allen School; Chandrakana Nandi, a doctoral student in the Allen School; and Jeffrey Lipton, an assistant professor in the UW's mechanical engineering department. This research was funded by the National Science Foundation, an Adobe Research fellowship and a Tsinghua scholarship for overseas graduate students.

For more information, contact Schulz at

University of Washington

Related Computer Articles:

A computer that understands how you feel
Neuroscientists have developed a brain-inspired computer system that can look at an image and determine what emotion it evokes in people.
Computer program looks five minutes into the future
Scientists from the University of Bonn have developed software that can look minutes into the future: The program learns the typical sequence of actions, such as cooking, from video sequences.
Computer redesigns enzyme
University of Groningen biotechnologists used a computational method to redesign aspartase and convert it to a catalyst for asymmetric hydroamination reactions.
Mining for gold with a computer
Engineers from Texas A&M University and Virginia Tech report important new insights into nanoporous gold -- a material with growing applications in several areas, including energy storage and biomedical devices -- all without stepping into a lab.
Teaching quantum physics to a computer
An international collaboration led by ETH physicists has used machine learning to teach a computer how to predict the outcomes of quantum experiments.
Seeing the next dimension of computer chips
Japanese researchers used a scanning tunneling microscope to image the side-surfaces of 3-D silicon crystals for the first time.
How old does your computer think you are?
Computerised face recognition is an important part of initiatives to develop security systems, in building social networks, in curating photographs, and many other applications.
From self-folding robots to computer vision
From self-folding robots, to robotic endoscopes, to better methods for computer vision and object detection, researchers at the University of California San Diego have a wide range of papers and workshop presentations at the International Conference on Intelligent Robots and Systems (or IROS) which takes place from Sept.
Reshaping computer-aided design
Researchers from MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL) and Columbia University are trying to make the process faster and easier: In a new paper, they've developed InstantCAD, a tool that lets designers interactively edit, improve, and optimize CAD models using a more streamlined and intuitive workflow.
A computer that reads body language
Researchers at Carnegie Mellon University's Robotics Institute have enabled a computer to understand the body poses and movements of multiple people from video in real time -- including, for the first time, the pose of each individual's fingers.
More Computer News and Computer Current Events

Top Science Podcasts

We have hand picked the top science podcasts of 2019.
Now Playing: TED Radio Hour

In & Out Of Love
We think of love as a mysterious, unknowable force. Something that happens to us. But what if we could control it? This hour, TED speakers on whether we can decide to fall in — and out of — love. Guests include writer Mandy Len Catron, biological anthropologist Helen Fisher, musician Dessa, One Love CEO Katie Hood, and psychologist Guy Winch.
Now Playing: Science for the People

#543 Give a Nerd a Gift
Yup, you guessed it... it's Science for the People's annual holiday episode that helps you figure out what sciency books and gifts to get that special nerd on your list. Or maybe you're looking to build up your reading list for the holiday break and a geeky Christmas sweater to wear to an upcoming party. Returning are pop-science power-readers John Dupuis and Joanne Manaster to dish on the best science books they read this past year. And Rachelle Saunders and Bethany Brookshire squee in delight over some truly delightful science-themed non-book objects for those whose bookshelves are already full. Since...
Now Playing: Radiolab

An Announcement from Radiolab