Ever heard of Zipshape? It's a technique developed by Schindler Salmeron which lets you to draw a free-form profile curve for (say) a piece of furniture, and then cut a series of teeth into two sheets of thick material like MDF. Those custom-cut teeth are very specifically shaped and matched to each other such that they can "zip" together, but only when the sheets are bent into the curve that you drew at the beginning. The result is amazing: free-form bent furniture parts that you can glue up without molds of any kind. Draw a curve, cut the teeth, slather glue, stick it in a vacuum bag, and let it set.
Here's the rub: each tooth needs to be cut at a very slightly different angle in order to "zip" together properly. Thought you could rig your shopbot to do this for you? Nope, sorry. This process needs a full-fledged 5-axis CNC, or a 5+ axis industrial robot arm, or some crazy experimentation with an open saw blade. Not your usual fabber's tools. Here's how Schindler Salmeron illustrate it:
This instructable is the first in a planned series, the ultimate goal of which will be to make zipshape accessible for all with a regular 2-1/2 axis CNC (Ie, using only profile and stepped fixed-depth cuts). I will be developing browser-based online tools to handle the geometry of it, and I'll be inventing a new form of zipshape which makes it possible to cut it using only straight orthogonal cuts. Follow my series! By the end, you'll be able to draw a curve, download a DXF file, cut it on your shopbot, and glue it up into a beautiful piece of furniture. No molds required! Here's a rough table of contents for the series:
Part 1: Introduction to zipshape, my own experience with zipshape, prior work that's been done in the area, the problem to be solved, the proposed solution, tests proving the concept.
Part 2: Refinement of the tooth geometry, a more in-depth look at the geometry and math that make zipshape work. The building blocks of the future web-app to bring the process out of Rhino and into Chrome.
Part 3: To the CNC! Prior tests will have been lasercut in 2 dimensions; In part 3 we'll be moving to the CNC and fixing any bugs that come up with the shift to more furniture-like parts.
Part 4: Design of a finished piece, and Introduction of the web-based tool. Since it will be built on fundamentally different platforms, further 2D tests will be done to verify that the geometry is true to the original method. A final piece of furniture will be proposed, but for all those following along, this is the point where you can design your own.
Part 5: Construction of the new & improved 2-1/2 axis zipshape furniture (type to be determined in part 4).
Step 1: My Experience With Zipshape
My main exposure to Zipshape, aside from its being sort of "in the water" of design school and journals, was through a project I participated in last year while in the master's of architecture program at MIT. Under the direction of Prof. Sheila Kennedy, we made a series of "SOFT Rockers" for MIT's 150th birthday celebration: human-powered solar tracking devices that connect social activity and electricity generation through a unique piece of public urban furniture. This Instructable-series is more about the fabrication process than the SOFT Rocker project itself, so if you want to read more about SOFT Rockers just google them or see links here at engadget and gizmag. Big photos and a more thorough description are also available on my website.
We replicated the zipshape techniques from basic geometric principles, creating a grasshopper definition for Rhino 3D which generated tooth-geometry from an arbitrary curve. The geometric problems turned out to be the least of our worries: actually fabricating these parts was the real mess and took us several months to figure out. Initial attempts to use a Kuka 5-axis robot arm with a beefy router bit turned out not to be precise enough for tight-fitting parts, and we had to move to a much larger and even more expensive setup with a 5-axis CNC gantry; I understand there are only 3 comparable setups available in the North-Eastern United States. We got the parts made, but now that I've graduated I couldn't do it again the same way.
The reason such complex equipment is needed is because each tooth needs to be cut at a unique angle. It implies a completely different type of equipment from the more typical shopbot that can do simpler straight-up-and-down cuts: profiling, pocketing, contouring, and such. My mission here is to fix that, and make a soft rocker more makeable.
Step 2: Prior Work & Credits
The work that my team did on the Soft Rockers at MIT played a critical role in the learning process of how to make this stuff work. The images associated with this step show a bunch of failed tests, without which the current project would not be possible.
Our experiments owe their genesis, obviously, to the original Zipshape creators. Additionally, there's a student I've not met named Victor Leung whose many posts in the grasshopper forumandon his own website have been very helpful for reference. Here's a very helpful sketch he's put together that illustrates the principles of the complex geometry at play in zipshape:
Step 3: The Problem I'm Addressing
As I've mentioned in the lead-up, the issue I'm tackling here is the variably-beveled cuts required to fabricate zipshape teeth. With those angled cuts, you have essentially two options for fabrication. Either you're limited to basically 2-D parts (the main limitation that Victor Leung has been operating under in his awesome laser-cutterable tests), or, if you wanted to make furniture out of extruded versions of the geometry, you need to have access to some completely exceptional equipment. Without those angled cuts, you could make zipshape furniture in hundreds of thousands of fab shops, all over the world. Zipshape would become accessible to the maker community, and could become a more impactful and useful method as a result.
Step 4: The Proposed New Zipshape Geometry
My proposed solution is simple: Instead of angled cuts, make them stepped. Using the zipshape algorithms exactly as they are but transforming the cuts into steps of consistent height but variable width should make it possible to manufacture zipshape parts on a run-of-the-mill CNC, or, with an additive process of stacking, even a 2-axis machine like a laser cutter or waterjet.
Step 5: Proving the Concept / First (failed) Attempt
Because it's much easier to prove the concept on a lasercutter than a full CNC, the proof of concept is a 2D representation of the final method, which would be extruded and cut on a CNC. The critical pieces is that I'm cutting only orthogonal lines in the 2D proof of concept, which means they could be cut in principle into the thickness of a piece of MDF using profile or pocket cuts and a straight bit.
My first tests were in 1/4" plywood. I used the grasshopper definition I had already to output the zipshape geometry from a curve I made for testing. I tried a couple of backing thicknesses and tooth geometries, but quickly hit a snag. Although all of the stepped teeth could fit into place, the lack of angled cuts meant there was no way for the teeth to actually get into position. Any angle at all while pushing the two halves together meant a tooth would be too wide for its fitted gap, which meant that assembly went fine through straight-ish sections, but curved sections caused everything to break apart. This is a little hard to describe. I've circled the problem and annotated it in the images above.
Step 6: Concept: Proved!
To solve the issue of assembly for square-cut teeth, I modified the original idea by adding a small flexure joint into the center of each tooth. Essentially this means that each tooth has a gap in its own center, which means the stepped teeth can flex just enough to get into position, but not so much that the overall structure is compromised.
I tested the additional flexure joint on one side and on both sides of the zipshape curve. Both went together easily, and both held the designed curve perfectly. The subtraction of material does make the overall assembly feel a little less rigid, so the best solution appears to be adding flexure to just one side, not both. The gaps that are produced may be fillable, also. I will be continuing research next time to see if the benefits of flexure can be maintained with a more tightly-fitting geometry.
The newly proposed zipshape-shape has another significant advantage over prior zipshape patterns: because the teeth are stepped and not sloped, they don't slide out of place when they're next to each other! The photo examples here are assembled with NO GLUE -- the curve is held comfortably and the two pieces stay together with their own friction, even when I pick up the curved stick by one end and hold it up for a photo. The internal sliding forces are perpendicular to the tooth surfaces, so they don't want to come apart.
Step 7: Summary & Curve Fidelity
So for this time I stuck to my familiar tools (grasshopper, rhino, lasercutter) and verified that my idea is conceptually feasible. Out of curiosity, I wanted to take a look at the various tests together, and compare them to the original curve I drew in Rhino. I expected the curve to match pretty well, given prior experience with zipshape. The test revealed a pretty good, though not perfect fit. To get perfect curve fidelity, I'll need to tighten the geometry somewhat or account for a "springback" factor, both of which which would be subject to the particular materials and machines used in fabrication. I'll save that for the next installment.