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
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
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 forum and on 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
Step 4: The proposed new zipshape geometry
Step 5: Proving the concept / first (failed) attempt
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!
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.