video overview

IIr Associates, Inc.
Publisher of The Virginia Engineer

Print-Publishing Services
Web Site Design-Coding-Hosting
Business Consulting

Phone: (804) 779-3527

Digital Tool Created That Allows Users To Design Woodworking Projects
January 6, 2020

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

According to information, 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,” Prof. 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,” Prof. 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.

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.

This research was funded by the National Science Foundation, an Adobe Research fellowship and a Tsinghua scholarship for overseas graduate students.

  ------   News Item Archive  -----  
The Virginia Engineer on facebook
The Virginia Engineer RSS Feed