« FLUX Workshops | Main | Grasshopper Tutorial: Suspended Ceiling »

Waffle Structural System: Using Grasshopper to Output Structural Ribs to a Laser Cutter or CNC Mill

Posted on October 26, 2008 by Registered CommenterAOP in , | Comments38 Comments | References1 Reference

Click to see larger imageI have been working on a definition for Rhino's Grasshopper plugin that would create a notched "waffle" structural system for any given surface.  With this definition, you can specify the number of struts in the X & Y axis as well as the strut depth and the notch thickness (or the strut material thickness).  The waffle system has a few components that define the strut labels and has a slider to control the label size to keep the model organized.  Finally, the definition orients the strut curves to the X-Y axis so that the curves can be easily output directly to a CNC mill or laser cutter. 

Also, if you are able to use this definition to create a waffle structure of your own (either laser cut or CNC milled), please email me some images and I will post the work on this website.  Good luck.

Source File:
Waffle_Structural_System.gh (size: 25k - file updated by GH user msieurju on 11.05.11 to work with Grasshopper v0.8.0052 or higher.  I'd like to express my thanks for the udpate.)

Note: This software and its documents are in the public domain and are furnished "as is". The author, Andrew Payne, makes no warranty, expressed or implied, as to the usefulness of the software and documentation for any purpose. This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License. http://creativecommons.org/licenses/by-sa/3.0/us/

PrintView Printer Friendly Version

References (1)

References allow you to track sources for this article, as well as articles that were written in response to this article.

Reader Comments (38)

Beautiful work. I was about to do something similar to also rotate the contour axis...will update if I succeed!

10-27-2008 | Unregistered CommenterLuis Fraguada

great work....
thank you for sharing the file!
Andrea Graziano
DigitAG&

10-27-2008 | Unregistered CommenterAndrea Graziano

Very nice job and very useful, I was planning to do something alike!

Thanks for sharing!

Ale2x72

e-cloud

10-27-2008 | Unregistered CommenterAle2x72

thanks for sharing this useful work!
you research is awesome!

_davide
MADEinCALIFORNIA

Great work, thank you!

11-2-2008 | Unregistered CommenterBen

very cool, w/ my limited experience, this is the first thing I've seen that looks pretty useful in GH. one place this breaks down is in steep surfaces --I wonder how you'd go about offsetting the the members normal to the surface, rather than just in the z direction...

11-2-2008 | Unregistered CommenterL

Well, one way to fix the steep surface problem would be to re-work the definition so that it takes the intersections on a "solid" polysurface, instead of just a single surface... Meaning, you could model any closed polysurface (the model wouldn't have to have a uniform thickness like it does in this definition), and then run the intersection components on this, instead of just the surface. I think it would be quite easy to make a definition like this, and I could post an update soon.

11-2-2008 | Registered CommenterAOP

Fantastic! Good of you to share with those of us who are in need of arrangements such as this beauty to deconstruct and get a handle on how to use Grasshopper's potential.

Much Joy, Thanks!

11-6-2008 | Unregistered CommenterEDM

Hi,

This would have been so useful a year ago when Michal and I built this 1:50 model. We used sketchup for the whole thing... Check it out : here

looking forward to trying this with Rhino though. Big up!

11-13-2008 | Unregistered CommenterMikkel

thank's

11-25-2008 | Unregistered Commentermortez

I have been running into issues in which some surfaces will not extrude the struts, or the struts do no coincide with the geometry of the surface. Do you know how to solve this problem?

02-7-2009 | Unregistered CommenterKMD

The surface needs to be oriented along the X-Y axis, because the struts are extruded in the Z-direction. Also, the surface needs to be a single surface and not a Brep (or Polysurface). I did start working on a second version of this system that would work on Polysurfaces, but I ran into a few problems while trying to flatten the struts. Basically, the definition posted above falls apart when you have steep surfaces, but if it works on a Polysurface, or a set of closed surfaces, the strut depth will change with the cross section of the Polysurface. Where I was having problems was when the Polysurface had holes in the topology, like a torus or a donut. When you cut a section across the middle of the torus, you will have 2 struts on one section line. However, when I try to flatten out each curve, it puts the curves in different areas, because it doesn't know that the at certain sections, there will be 2 curves and not one. I could probably write an expression to check the Y or X value and if they are the same then put them in the correct area, but I didn't necessarily have the time to tackle that problem a little while ago. Anyway, I may be able to look at that again sometime in the future... or I might be able to post the definition (which works pretty well except the flattening portion of the definition) and people could modify it as they saw fit.

02-8-2009 | Registered CommenterAOP

How can I"bake" the grid so I could use it in Rhino?

02-16-2009 | Unregistered CommenterAM

First select the component you want to bake into your scene and then hit the button right below the component list that looks like a fried egg.

02-16-2009 | Registered CommenterAOP

This is an amazing tool; however, once I generate the waffle ribs, I am unable to select any of the 3d or 2d geometry. I tried selecting the original object and pressing the "bake" egg, but nothing transpired. How can I actually convert the 2d lines into an exportable format (preferably .ai) and convert the 3d geometry into something renderable? I am a bit of a neophyte with Grasshopper, so apologies if this is a very basic question. Thanks for answering the question and posting this fabulous tool!

02-23-2009 | Unregistered CommenterTRL

Hi Andrew
And thanks for sharing this great tool.
I wonder if you gave up on the new definition on sectioning polysurfaces?
I am very thrilled to see if its possible to make sections in a polysurface with holes, if your still working on that problem?
Best regards and thanks again

03-27-2009 | Unregistered Commenterper

Hi Andrew,
I agree with "per"...there are new updates of this wonderful definition?
Best,
Pierpaolo

04-6-2009 | Unregistered CommenterPierpaolo

Wonderful script, but it does appear the latest version of Grasshopper broke parts of it. Any chance this will be updated?

04-17-2009 | Unregistered CommenterHS

HS, you are right... I don't think the current definition will work with GH version 0.6 or higher. I believe you can still download GH version 0.5 from the Rhino website... but I will try to fix the definition to work with the current version... however, no time frame on how long that will take as I'm a little swamped with work at the moment. That's a good thing :)

04-18-2009 | Registered CommenterAOP

any update yet for the new version of GH? The form seems to come out great, but the output curves for the laser cutter get stacked up and I can't seem to fix it.

09-9-2009 | Unregistered Commenterpit

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>