Digital Joinery Design Automation
In past posts, I’ve written a little bit about my experience taking a 12-week intensive course in furniture design and making at the Center for Furniture Craftsmanship in Rockport, Maine. Learning to design and build furniture by hand was amazing and is something I will continue to pursue for the rest of my life.
But, what first got me hooked on designing and making furniture was actually a marvelous little piece of technology called a CNC (computer numeric control) router, specifically one called a ShopBot. This machine boils down to a router whose cutting speed and 3D position are controlled directly by a computer. As it moves in space, it removes material from a piece of stock fixed to a large bed. As an engineer used to working in computer-aided design (CAD) software, the ability to directly manufacture something from a digital representation was incredibly appealing. It also lowered the barrier for my students to make furniture-scale artifacts and begin transforming and shaping their learning environments.
Even though I’m enamored with the process of making furniture by hand and all the focus and creativity it demands, I still have a soft spot in my heart for digital fabrication and the amazing work of companies like Opendesk. So, this year, I’m taking the free time afforded me by a year-long sabbatical to try to make a contribution to the emerging technologies that enable digital furniture manufacturing. Specifically, I am planning to use the CAD software Onshape (which I’ve written a bit about in this post describing designing a bicycle frame jig) to build native features that enable users and designers to automatically generate digital joinery (ie. joinery designed to be cut by a CNC router).

Specifically, I’ll be using Onshape’s programming language called FeatureScript to create custom 50 custom features, each of which will generate one of Jochen Gros’ 50 Digital Joints pictured above. I announced the project the Onshape Forums, and you should feel free to follow along there if you like. You can also click that forums link to see what joints I’ve implemented so far. If you’re interested in contributing to the project by developing FeatureScript code of your own or just testing my features in your designs, don’t hesitate to reach out!