Even to an experienced carpenter, it may not be obvious what the best way is to build a structure they’ve designed. A new digital tool, Carpentry Compiler, provides a way forward, converting the shapes of the structure to a step-by-step guide on how to produce them. It could help your next carpentry project get off the screen and into the shop.
“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,” said project lead Adriana Schulz from the University of Washington’s computer science department, in a news release.
It sounds a bit detached from the sawdust and sweat of hands-on woodworking, but they don’t say “measure twice, cut once” for nothing. Carpentry is a cerebral process more than a physical one, and smart, efficient solutions tend to replace ones that are merely well made.
What Carpentry Compiler does is codify the rules that govern design and carpentry, for example what materials are available, what tools can do, and so on, and use those to create a solution (in terms of cuts and joins) to a problem (how to turn boards into a treehouse).
Users design in a familiar 3D model interface, as many already do, creating the desired structure out of various shapes that they can modify, divide, pierce, attach, and so on. The program then takes those shapes and determines the best way to create them from your existing stock, with the tools you have — which you can select from a list.
Need to make the roof of your treehouse but only have 2x4s? It’ll provide a recipe with that restriction. Got some plywood sheets? It’ll use those, and the leftovers contribute to the base so there’s less waste. By evaluating lots and lots of variations on how this might be accomplished, the program arrives at what it believes are the best options, and presents multiple solutions.
“If you want to make a bookcase, it will give you multiple plans to make it,” said Schulz. “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.”
That’s really the same kind of thing that goes on inside a woodworker’s brain: I could use that fresh sheet to make this part, and it would be easy, or I could cut those shapes from either corner and it would leave room in the middle, but that’ll be kind of a pain… That sort of thing. It can also optimize for spatial elements, if for example you wanted to pack the parts in a box, or for cost if you wanted to shave a few bucks off the project.
Eventually the user is provided with a set of instructions specific to their set of tools. And the carpenters themselves act as the “processor,” executing operations, like “cut at this angle,” on real-world materials. In Carpenter Compiler, computer programs you!
The team presented their work at SIGGRAPH Asia last month. You can read more about the project (and learn how you can try it yourself) at its webpage.