algorithmic modeling for Rhino

(A double-post from the Discussion section, but this post should probably live here...)


I put together a utility definition to create a grillage (waffle) surface for laser cutter fabrication. Please feel free to use it (at your own risk...). I plan to make improvements to this base configuration in the future.


_Specify the uniform spacing for each of two (A = above, B = below) orthographic cut planes;
_Specify the rotation (angle) of the orthographic cut planes to the reference surface;
_Fine tune the start of A or B cut planes by shifting each independently;
_Specify rib height and notch thickness;
_Automated layout of the rib sections for fabrication including notches and labels;
_Visual 3D reference guide for construction;
_A "defaultGrillage" state has been saved under the "Solution" menu for quick start-up;
_A "generate_grillage_layout?" on/off toggle to allow for faster operation.


_The reference surface must always be shrunk;
_The grillage (for now...) is generated from a vertical extrusion downward. A surface with extreme geometry may not work well, if at all;
_If the outline of the reference surface is such that a section plane will cut the surface in two locations the automated layout will not function correctly;
_The notches are generated as rectangles with the intention that the user will want to cut the notches on a separate pass from the rib sections;
_Without any clusters, the canvas looks pretty scary. The resulting output of the definition is located all the way downstream (but should be clearly labeled).

View some screenshots from my album Gillage Making.

Download the definition file here: grillageFAB_v1.rar

Happy cutting.


Views: 22625

Replies to This Discussion


There were some oddities with the construction of your polysurface and it wasn't closed. I cleaned your chair up and everything works properly (although the labels are being finicky).

This should be enough to get you on your way...

Thanks Taz. I'm pretty new to Rhino, so I'm not surprised the model was the problem.
This may be too basic a Rhino question for this thread, but any advice on how to close objects? I still haven't figured out just what a 'closed Brep' is.
PS. I'm usually bringing these objects in as Sketchup files opened in RHino
okay, found it here

_Offset surface from master surface
_Duplicate border of master surface and offset surface
_Loft the border curves
_Join the surfaces

You could set up a routine to do this in GH too...
Just wanted to share a couple results. The chair moquette was made with the radial plugin. The stool didn't use the plugin but was inspired by this thread.

Both were routed on a 3 axis CNC table. The stool is plywood; the chair is mat board and acrylic

Nice projects Mac!

It looks like you do a lot of furniture work. Did you see this other table that someone posted?


One issue with plywood grillage type pieces is they end up being quite heavy. Unfortunately the use of material isn't the most efficient.

But they're fun to put together!
More grillage! These are laser cut from 1/16" bass wood. I hollowed out the interior to save weight / material. A shelling function in Rhino would have helped for the interior cavity, but since there is no such feature I just winged it with a boolean.

Yes, I saw the Mesa table. It's very nice. I love how the grillage bump pierces the glass on the bottom shelf.

Wood is not such a great material for this; and the furniture lacks shear strength without any triangulation of the structure. But I really like the look of it.

Hi Taz , first of all thank you for the beautiful definition ,

is it possible to define ribs thickens trough definition in the same way notch thickness is possible, or maybe suggestion that those two parameters are connected so when you define rib thickness automatically notch dimension is set ( maybe even with offset)
Hey Dubravko,

What do you need rib thickness for? For visualization?

The main intent of the definition is to produce the linework for fabrication, but since the 3d planar surfaces are there it would be easy to go into the definition and offset the surfaces to create 3d ribs with thickness.
Hey Taz,

Love the Definition, exactly what I was looking for.

I just have a question though; how can I give depth to the ribs as I want to bake them and incorporate into a model?

If you go to "View > Restore Named View > output" that will take you to the end of the definition and it will look like this:

"A_3D_ribs" and "B_3D_ribs" are the planar rib surfaces. You can simply offset those surfaces to create 3d ribs with thickness.






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service