algorithmic modeling for Rhino

Hello there,  I’m working on some new ideas for some flatpack slotted structures made of glass for an exhibition in National glass centre sunderland in October.

Parts are going to be waterjet cut from rolled sheet glass hand made furnace glass, at around 8mm thick, these will then be ground to more precise dimensions and then the parts assembled and temporarily glued using special low carbon glue. The assembled object is then going to be invested in very fine and loose refractory powder and then pressed down into place to keep the glass parts firmly in location as the whole sheboodle is cooked at around 800 celcius for a few hours,  after some annealing etc etc I hope to have a viable one piece structure, that can then be finished,  Phew,  thanks for reading,

I’m no grasshopper guru, or rhino expert, (I know about glass), but i really need some help in working out where I’m going wrong,  in the attached def, there seems to be a data stream matching issue, (maybe) the closest points component at the very top as its laid out seems to have a lot to do with the problem,  I’ve flattened both inputs, and the resultant angles of the circle parts are perpendicular to the faces of the adjacent parts (correct for slotting), however there are twice as many parts in the data stream as id like with the params as they are set its 128 so i get co-incident circles, and solids. If I unflatten, then I get a different and incorrect set of angles even thought the points have not changed.

this is problem number one, I need to work out the slotting methods soon.  anyway if someone could have a quick look and cast an expert eye on my ramblings id be very grateful. 

many thanks

Colin Rennie

Views: 871


Replies to This Discussion

Interesting! I run a Flow Mach3 Waterjet machine. It can be tricky cutting glass though. We cut mostly metal. I would say it will be important to get a consistent accurate glass thickness so you can cut the slots correctly... to small and they won't fit together... too large and it will be awkward to glue together. Also, it will help if you cut this on a waterjet that has dynamic head control or taper control so you get a nice 90degree cut with minimum taper on the cut edges.

Anyway... to your problem. It looks like you need to intersect only the shapes that actually intersect. At the moment you are trying to intersect all the circles with all the panels and presumably flattening and graftign inputs to see if one combination gives you the result you want! (That's my usual approach too!)

I think you might be able to apply some rule to sort either the circles or panels so you get an output of panels where each branch contains the panels that are intersected by each circle. i.e. if you have 32 circles, you want a list with 32 branches and each branch contains the panels that are intersected by the 32 circles... if that makes sense. So you might be able to calculate the distance from circle centre to panel centre and then sort based on that distance to group the panels by their intersecting circles.

I'll have a look and see if I can do this...

Yes, waterjet is tricky,  we have a big 4500bar waterjet sweden beast so its pretty quick and minimum kerf, would love to have a 5 axis (beveljet) to ramp up the posiblitilies.  anyway the circles are derived from and averave of the closest midpoints for each pannels paired edges.  my problem is a little further back in the def I think.  you can get rid of the last few components back to the single brep params. 

ive probably done this in a crazy way but if you have a look and cast your eye over the mid section, upper,  I have a feelign thats where the issue is.

many many thanks for looking though its really appriciated

Also, I'd think about this slightly differently... what you need to make this is actually just 2d curves as I presume you are going to program your waterjet from 2d dxf files. So what you want to end up with as an output is a list of identified 2d dxf files for the panels and same for the circles. So, is it really necessary to go down the route of creating solid breps unless you want to render the model?

totally understand,  but yes,  i am looking to render this out in blender, later,  however a change in the approach may be better,  working from curves and then up to solids.  im probably working the way i would in rhino.  thanks ill have a look.


I've sorted out your panels according to joint connectors.

You can also use topology analysis tool like "Sandbox Topology".


wow,  from first view, looks right,  any way to split the slotting between the circles and the rounded polygon pannels?  in glass terms the orange parts you show will be very prone to cracking,

but hey thanks thats amazing,  ill look at the way you did it and try and work it out,

many thanks

Minior bug fixed.


thanks Hyungsoo.  Kudos!  I havent seen half of those components before, but ill certainly be able to work with this,,

a couple of things that probably should be explained,

everything in the model will be made from glass eventually,  so ill link in the glass thickness to the connector thickness. thats easy enough,

secondly the pannel parts, in blue,  need to have slots in them also, so the boolean intersection between the circle connectors and the pannels is split at a mid point, and each part shares an equal amount of slotting.  like a waffle structure essentially

as I havent worked out quite how your amazing deffinition works ill need to think about how this is done. 

all I can say is wow, amazing work and thank you,, 

Kind regards


I'll be checking this out too later! Also, Hyungsoo, I might have a similar question for you if you don't mind?

A very adventurous idea Colin! I don't know what tolerances are allowed in waterjet cutting but since your lofted surface has a slight curvature and twist, wouldn't that imply that the slots on either side of each connecting circle, for example, would lie in slightly different planes? Can the plane of the jet be adjusted accordingly?

Hi ethan. Thanks for the interest. As the geometry is based on a triangular grid the adjacent edges are always parallel and so have a common intersecting plane that's 90 degrees to both edges which the circles lie on, so that takes care of the issue over slightly different planes. The waterjet I use sadly is only 3 axis so it can't manage beveled edges (I'd love to have a play on a beveljet) and there is a slight kerf caused by the jet widening the further it is from the nozzle but as long as you provide a little offset this can be accomodated. Precision comes from thicknesing the glass carefully by grinding each piece on a silicone carbide flatbed and doing a lot of checking with calipers. When the glass fuses at 850c it should take up the slack in the joints and form one homogenous solid. (I hope) . Anyway I'll post progreys on this forum to keep those who are interested up to date. Cheers c.

You're right Colin, I don't know what I was thinking. Good luck.






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service