I built a coffee table for our living room recently and wanted to talk about how I made it.
Originally my wife Sara and I bought some raw edge white oak from Craigslist to make some desks. The pieces were too narrow to foot the bill, so they sat in our basement for several months.
When we decided to replace our coffee table, we realized we could use that wood. I had about a month to do this project because we were having a housewarming at the end of September and wanted to make sure it was ready in time.
The raw and natural properties of the wood inspired me to try and bring elements from nature into the design of the legs. At first, I tried to draw out some flowy, organic shapes – but I found that with literally infinite possibilities, I had trouble nailing down any ideas or concepts that I was happy enough with to pursue.
That’s when I had an idea; how cool would it be to use the shapes of real trees as the legs? Rather than trying to design something to look organic, I could just use something that was actually organic.
To accomplish this, I decided that I wanted to use 3D printing to produce the legs. I also wanted to add something that would give a nod to the very digital process I was going to use to produce these parts. I decided on lattice structures, one of the most “3D print-y” forms out there. The concept was to create the “idea of a tree” – as if chunks of the tree had broken away, revealing the digital skeleton underneath.
I brought the scans into Meshmixer, cleaned them up a little (deleting floating geometry mainly), then brought the still-rough scans into Modo to position them around digital copies of the tabletops to get an idea of the overall layout of the piece.
After getting the right trees in the right positions, I went about finalizing them. One by one I brought them into Meshmixer and rebuilt the missing areas of the scan and turned them into solid meshes.
To build the latticework, I used a combination of Rhino 5, Grasshopper and a plugin for Grasshopper called Crystallon. The plugin is an open-source software package that builds lattice structures within a predefined boundary. I brought in the solidified tree meshes and used them as boundaries for the latticework, filling them with NURBS-based dodecahedron lattices.
The process of converting these NURBs based lattices to a workable mesh was a struggle. I tried three approaches:
1) Using a voxelizing plugin for Grasshopper called Cocoon. This only worked for one of the legs, as the other ones’ lattice structures were too dense and would cause my computer to hang when computing the appropriate detail levels.
2) Using the built-in voxelizing routines of another, less capable lattice generator called Intralattice. Same problem as using Cocoon.
3) I used the NURBs curves from Crystallon and plugged them into a simple “pipe” generator in Grasshopper. This created a bunch of NURBs-based cylinders. I then converted these cylinders to meshes, then exported those meshes to Meshmixer and created a manifold mesh from them by using Meshmixer’s own voxelizing command “Make Solid”. This is what ended up working, though some of the legs were so dense that I still had to export them and solidify them in pieces, combining them only after I had imported each chunk into the scene one by one.
Revealing What’s Underneath
Before I could combine these lattices with the trees, I had break the latter apart in some way so they could expose their “digital skeletons”.
To do that, I would take the solidified tree meshes into Modo and run a “Mesh Shatter” command. This broke them into chunks, and I deleted chunks in an aesthetically pleasing way.
Once done, I brought the chunks into Meshmixer and ran the “Make Solid” command again, which took all those individual pieces and made them into a single object.
Creating the Final Legs
Now I had a tree trunk with parts missing from it, and a lattice structure based on the whole tree. I brought the two meshes into the same scene and then ran the Make Solid command one more time. This created a single unified manifold mesh comprised of both the tree trunk and the lattice. I couldn’t do a simple boolean union as this either crashed the software or created several errors that crashed the software when I tried to fix them.
When the first leg was done – the largest one – I printed a prototype in 1/3rd scale to make sure that it would not require any support material to build. One of the primary areas of concern was the lattice; I wanted to make sure it was self-supporting and didn’t require any support material to be broken out later. The dodecahedron shape was perfect for this and the prototype was successful.
With everything validated, I finished each leg and brought them into Modo to lay them out with the tabletops and sculpt in bark detail that had been lost in either the scanning stage or the remeshing stages.
While this was going on, I was sanding down the wood with a random orbital sander. First I used 60 grit, then 120.
Afterwards I used Varathane-brand Triple Thick water based polyurethane to coat the wood in several successive layers. I made especially sure to coat the bark on the sides, creating a solid coat that would help to keep it from chipping off or getting clawed off by our cats.
There was a large knot in the bottom wood piece that ended up forming a cavity. I scraped out the ashy wood and filled the cavity with Alumite clear casting epoxy, sanding down the excess to create an even finish.
I was also printing the legs of the table at this time – and it was by far one of the hardest parts of this entire process. I had to print eight pieces, as all of the legs were too large to fit in the build area of my Makergear Mk2 (200 mm (8″) x 250 mm (10″) x 200 mm (8″)). I had to split them up, design for them to slot into one another and print them separately.
The print times ranged from 8 to 13 hours. Over the course of the final two weeks before the housewarming I went through three component replacements: a snapped glass build plate, broken hot end barrel and a warped filament drive.
I also went through roughly half kg of filament in print failures alone. The process of dialing in the settings to reliably print for so long was a struggle. I ended up with 208 degrees extruder temperature, 60 degrees bed temperature and no layer cooling fans for the duration of the print. The filament I used was Bronze Rainbow PLA from Stronghero3D.
Big unpaid shoutout to Partsbuilt 3D, by the way. When I broke all these parts I had only a couple weeks to go before the housewarming and lots of printing left over. They were the only place I could find with three day shipping to the East Coast on the build plate and hot end barrel. Great customer service too! I’ll buy from them again.
With all the individual parts completed, I moved them into the living room to begin assembly. I was on quite the time crunch – our housewarming was on Saturday, and it was 6 PM on Friday by the time we got home. One half of the large leg had run out of filament before finishing, so I had to start a print to fill out the remaining portion of the leg.
Originally I thought to use screws but for aesthetic reasons I chose dowels instead, which I think was a much more successful choice. I ended up using less of them than I had planned for; they’re pretty strong!
To create drilling templates, I took pieces of paper and put them on the contact surfaces of the legs. Then I used a pencil to do a graphite rub and obtained an impression of the top of the leg. I cut these templates out and put them on the backside of the wood where I had traced the outline of the leg’s attachment points.
Using a half inch drill bit I cut into the wood and mounted the dowels. Originally I planned to use glue to secure them together but I found that I didn’t need to, which was even better should I need to disassemble anything in the future.
I was up until 3 AM cutting, aligning and with some gluing. With my wife’s help we were able to put everything together just in time.
However, once everything was finally assembled I realized that I had a major problem; due to shifts in the design during the construction process, the table was slightly unstable. The largest leg was not close enough to center, and the entire top layer of the table wobbled inwards. I was at a loss, trying to figure out how to fix it, and despairing that I’d have to print something overnight to finish in just a few hours.
Sara came to the rescue when without a word she strode over to my desk where the small prototype from a month ago was sitting. Picking it up with confidence she deftly jammed it into the gap between the two tabletops and like a switch, the entire table solidified itself and ceased to move entirely. My mind was blown, and with that, I retired for the evening. After all, I had to teach a couple 3D printing classes in 6 hours!
I really enjoyed working on this project, as it got me off the computer and working with my hands for large parts of it. The 3D printing and design portion was really fun, because I’ve always wanted to work with lattice structures and scanning nature was a unique experience. I did learn that dowels are remarkably strong and in the future I won’t use as many of them. I hope you’ve enjoyed reading about this project as much as I’ve enjoyed working on it, and feel free to shoot me any questions you have!
I built a coffee table for our living room recently and wanted to talk about how I made it.