While studying in the Furniture Design program at the Massachusetts College of Art and Design, Stephen Thrasher became fascinated by studio furniture makers who embraced digital fabrication. Among all tools, CNC machining stood out to him as a bridge between traditional woodworking and computational precision.

Over time, he developed several CNC-based processes to craft expressive furniture pieces, expanding the possibilities of wood as a structural and sculptural medium.

DIGITAL COOPERING
The Peanut Bench builds upon an old woodworking technique known as coopering, a method of cutting and gluing solid wood staves with beveled edges to form curved assemblies.
Traditionally, these joints are flat, but Thrasher redefined the approach by generating curved, twisting geometries in Rhino and Grasshopper, then cutting each piece on a CNC rotary axis. This process allowed every coopered brick to follow a predefined surface, achieving a curvature that would be impossible to create by hand.

SHAPING & PARAMETRIC DESIGN
The design began with surface shaping in Rhino, where a Grasshopper definition tweened curves across the form. Using BowerBird, geodesic curves were generated along the bench’s seat edges to guide these tweens. These curves controlled the flow of the wood grain, keeping the staves straighter to minimize waste and preserve structural strength.

To define the bench’s thickness, the curves were offset along surface normals. Python 3 scripts within Grasshopper, leveraging the RhinoCommon library, divided the geometry into a brick pattern and added small alignment details. The gaps between bricks were scaled according to their width, introducing subtle variations that enriched the surface texture.
A 3D-printed model of the Rhino geometry revealed excessive flex in the thin surface, prompting the addition of stretchers for reinforcement. Thrasher also scripted CNC commands to carve their mortises, ensuring perfect joinery alignment.

CNC FABRICATION
Each of the 325 wooden bricks and 13 stretchers, defined by four corner curves, was exported to a custom Python-based CAM framework for CNC program generation. The code solved for a rotary swarf (flank milling) toolpath, cutting each twisting element precisely. The full milling process took about 40 hours.

Assembly required a custom clamping solution: high-strength cord clamps stretched across the interior of the bench to hold pieces in place while gluing. Small registration indentations, generated by Grasshopper, guided the placement of plastic ball bearings between adjoining bricks for accurate alignment. Gluing occurred in several stages, building one to three rows at a time.

A NEW CRAFT VOCABULARY
The Peanut Bench demonstrates how computational tools can evolve traditional craft techniques. By blending coopering with parametric modeling, Python scripting, and CNC machining, Thrasher developed a repeatable method for creating complex, free-form wood surfaces that remain grounded in fine woodworking sensibilities.

The project was designed in late 2024 and built during the first half of 2025. Beyond the bench itself, it serves as a proof-of-concept for an emerging CNC technique that could inspire other furniture makers exploring the intersection of digital precision and handmade craftsmanship.
A video documenting the process can be found here: The Peanut Bench, or Free-Form Coopering on a CNC Robot.

CREDITS
Designer & Fabricator: Stephen Thrasher
Institution: Massachusetts College of Art and Design (MassArt), Boston, MA
Tools: Rhino, Grasshopper, Python 3, RhinoCommon, BowerBird, Custom Python CAM
Machinery: AvidCNC 3-axis with rotary axis
Photography & Process Documentation: Stephen Thrasher



