Introduction: Undulation Coffee Table

About: Graduate Architecture Student at the University of Southern California

Undulation is a coffee table designed and built by Matthew Bianco-Splann. It was an exploration in digital fabrication, woodworking, welding, and patience. This is a tutorial on how to re-create the table or something similar.

Step 1: Acquire Materials

The first step in making the table is to locate and acquire the materials you'll need.

Items needed:

Wood - approximately 2' 6" x 4' 6" x 2"

SteelRod - about 12' length of 1/2" diameter steel rod

Spray Coat - I used matte black spraypaint, but any color/finish of spray paint will work.

Watco Danish Oil - or other wood finishing substance (lacquer, polurethane, etc)

Extra Fine Steel Wool (0000 grade)

Rags/Cloth - to apply oil

150/220 Grit Sand Paper


Tools used:

Hand drill - with 1/2" drill bit

Clamps & Wood glue - these are only if you need to laminate the wood you acquire before milling

Software used:

Rhinoceros 5.0 - with grasshopper plugin installed.

Large Machines used:

MIG Welder

Oxy/Acetylene torch

CNC Router

SawStop Table Saw - if you need to cut your wood down to size

Planer/Jointer - if the wood you need to laminate is rough sawn

Step 2: Pick Your Wood

The wood can be any species or type, even plywood can work (though you'll end up with a "contour" effect). You'll just want to make sure the wood is the proper dimensions for your table. Coffee tables are typically around 2' 6" by 4' 6" as a reference. It's also important that you have at least 2" thickness to the piece of wood for the milling. Think about where your table is going to end up when deciding on the type of wood to get. I knew I wanted a darker wood for my table to match my couch, so I went to my local lumberyard and asked if there were any deals on darker species of wood. I got lucky and found some Walnut planks for a nice price, but they were rough cut and too thin for the final piece. I had to use a planar, jointer, and then a table saw to cut them to size to be able to then glue them together. This can all be avoided if you find a nice big piece of wood.

Step 3: Model Base Surface

Once you have your wood measured, model a "bounding box" representation of your block of wood in your modeling program of choice. I used Rhinoceros 5. Then you can model a surface that you'd like to use as the "guide" surface for the CNC machine's milled toolpath. Feel free to express yourself in this step, as the more variation in the surface the more dramatic the ripples and divots in the final surface will appear. Make sure the surface you intend to mill fits inside the bounding box you modeled.

Step 4: Create the Toolpath

Next, simply plug your modeled surface into the attached grasshopper script to generate the toolpath for the CNC to follow. You'll need to import your surface into Rhinoceros 5 and open the Grasshopper plugin in order to do this step. The script will contour your shape, flip every other contour curve, and then jitter the points along the contours to create an asymmetrical, sporadic pattern for the CNC to follow. Then, it pulls the jittered curves onto the original guide surface to ensure that the final form is as close to that shape as possible.

Note: certain surfaces will work better than others with this particular script. If it isn't working, try rotating your shape or reducing its complexity.

Step 5: Run Toolpath

Next you'll want to run the toolpath you got from the grasshopper script using a CNC machine and your block of material. I used the 3-axis CNC routing machine at my school and had the digital fabrication manager help with setting it all up, but if you know MasterCAM or another CAM software package it should be relatively easy to import the surface you modeled and the polyline that represents the final toolpath. I would use the surface to set up a rough pass and then the polyline for the final pass.

Step 6: Design/Model Table Legs

Once you've got the wood piece all milled out, the next step is to design the legs to hold it up. I loved the way the bottom of the table turned out and I wanted to be able to show it off, so I wanted the legs to allow the table to rotate 180 degrees. It needed to have at least three points of connection for it to still function as a table, so I had the steel legs bend up and form a "shelf" in the center that takes on most of the weight of the table.

Step 7: Bend the Steel

I printed out a 1:1 scale drawing of the pieces of steel I was bending to use as reference. You could also CNC or cut out pieces of MDF at all the angles you'll need to bend at if you're looking to be more exact. I just eyeballed the bending of the steel because all of the bends I needed to do were planar, but if there was more than one bend per piece I would've likely created a jig.

Step 8: Drill Holes in Sides of Tabletop

You'lll need to drill a 1/2" diameter hole on either side of the table. These are the locations that the legs will "pinch" the wood, allowing it to pivot and rest on the "shelf" of steel. It's important that the holes are drilled close to parallel to the top of the table to make sure you don't poke through the wood. I sank the bit about 4" deep into the wood. It's important to note that the deeper you go the more difficult it will be to rotate the table. Be patient when drilling- if you continuously put pressure on the drill you might make burn marks on the wood.

Step 9: Weld Assembly

The next part is a little tricky. You'll need to have a friend hold the pieces or maybe set up a frame to clamp the pieces in place while you weld the connections together. If you're nervous about any drip from the weld you can put a towel over the wood to give it another layer of protection from burning. It took myself and two friends more than one try. We had to grind off and re-weld a few times.

Step 10: Finishing the Steel

I used a black matte spraypaint on the metal to seal and protect the steel. I originally meant to use a glossy clear coat, but after grinding my welds I found the steel I had purchased had a bunch of imperfections so I switched to paint to cover them. I think the black looks nicer- it pulls your eye toward the table instead of the legs. IMPORTANT: make sure you cover the wood with something for this step to protect it from paint!

Step 11: Finishing the Wood

First sand the top and edges of the table, and if you want you can touch up the bottom surface if you've got any harsh edges or splintering caused by the CNC. Start with around 150 grit for a few passes, then gradually reduce down to at least 220 grit. I didn't have anything finer than 220, so I took a damp paper towel and rubbed it over the top surface for the last sanding pass with the 220 grit and felt satisfied.

Finally, you'll want to seal the wood. I chose Watco Danish Oil to finish the wood for a few reasons. The main reason is because of how easy it is to apply. Simply put a generous amount on a cloth and rub it all over the wood until the wood no longer "accepts" the oil (read: it starts to pool and/or drip). Then rub the excess oil off with a dry cloth and let it sit for 15 minutes. Repeat this process 2-4 times for your first application. Make sure that when you've done all your coats you give it one last wipe down to remove all the excess oil as this will dry into an uneven, goopy texture. Wait about 24 hours for the oil to dry properly and then finally wipe it down with the 0000 grade extra fine steel wool. The great part about using an oil finish is that you can apply it over and over again until it has the durability you're looking for. Also, if you scratch it or spill accidentally it's a piece of cake to sand the damaged area and reapply the oil.

Step 12: Trick Your Table Out With Cool Props and Take a Photograph