Fritted Glass Pattern on Multiple Triangular Surfaces

Hi All
I am currently trying to apply a basic uniform fritted pattern of disks onto multiple Triangular glass panes using Grasshopper. The density of the frit pattern needs to be 50% of each pane of glass. The problem I am having is that since the radius of the disks are very small (1.5mm) - in order to achieve the 50% frit density, a huge number of disk shaped surfaces are required to be generated by grasshopper. I have managed to get it to work for 2 Glass Panes at a time, but when I select more than this at once Rhino Crashes ( I believe it is because my PC memory becomes exceeded). Each run takes around 2 hours and there are over 200 panes of glass, so running two panes at a time will be extremely time consuming. Does anyone have any suggestions of a better way to go about this?

EDIT: I have attached my Grasshopper script and a rhino model as an example of the kind of Window panes I am trying to Frit. (14.4 KB) window_example.3dm (40.6 KB)

Post your definition and someone will no doubt have a go!

1 Like

“frit pattern” rang a bell and I found this from five years ago:


1 Like

Thanks Matt. I have added the grasshopper tool that I made, as well as an example of the type of glass which I am trying to Frit.

Thanks Joseph, I will have a look through that :+1:

Something is wrong with your model - unresolved geometry:

P.S. Oh dear. When I assigned your four surfaces to the Brep parameter my GH/Rhino froze up??? Something is very wrong…

P.P.S. The ‘U and V count’ slider is set WAY TOO HIGH!!
And a circle radius of only 0.003175? No wonder it breaks.

Ross, I assigned one of your panels and saw the problem you are having in trying to create 100,000 circles on one pane of glass! What is the end result? What will you do with the circles?

Yea, that is what is causing me problems. The frit specifications are circles of radius (0.003175 meters) which means that to achieve the 50% frit density the U and V sliders need to be high.

@Matt_Harwood yes, the problem is that since the design specification is that the fritted glass should be comprised of circles of 0.003175 meters this means that a huge number of circles are required to be generated in order to meet the requirement of 50 % frit density. I am wondering if anyone has any ideas of a different way of going about it.

That’s my point about what is your required output? If it’s for say a printer or a laser etcher or something, then it wont want circles, but points, and you set the laser thickness to whatever it needs to be (or more than likely you work with whatever the laser/cnc drill thickness is and work backwards from that). If all you want is the circle centres then you could work backwards from your required density. Number of circles required = glass area * 50% / (0.003175^2*pi). Then adjust your U,V values to hit that number. That way you don’t have to actually draw any circles/surfaces which is what is causing the issue.

@Matt_Harwood. I am doing a simulation for daylight analysis in a building. I am running the simulation on the Rhino Model, so the function of the disks/circles is to block direct incoming sunlight. So the grasshopper tool needs to insert circular surfaces into the rhino model for this to happen.

Wow i feel sorry for your computer! Just one of those panels needs 390,000 circles at 3mm diameter to achieve the 50% frit pattern. Trying to test a sunlight anaylsis across that many individual items (and that’s just for one panel) will probably make it explode!

Either way, I’ve come up with a few ways for you to do this. Method one is similar to you approach. Method two runs slower, but doesn’t require you to input U,V values for each panel - it will create the number of points/circles automatically. Also the UV method doesn’t give an even grid as your sides are different lengths, so with the same UV division your spaces between circles will be different vertically to horizontally. You could also use method 2 with a triangular grid if you wanted.

Whichever way you do this, generating nearly 400,000 items per panel will take a long time. Your best bet would be to find a way of testing the pattern without generating every single point. I’m not sure what analysis exactly you’ll be doing, but surely you can just input a panel with 50% opacity? That would be so much simpler/faster. Thinking about it, I’m not sure you’d actually be able to test these 3mm wide circles in a daylight analysis package. You’d have to be generating light rays at a spacing of 3mm maximum for it to be able to ‘see’ your pattern. Doing this across an entire facade/building would take weeks.

Frit (28.4 KB)

Thanks for all the feedback @Matt_Harwood! Yea I see what you are saying, I will have a look at your Grasshopper file, but will also run a sunlight analysis on one panel to see the difference between a panel with 50% opacity and the Grasshopper generated panel.

@Matt_Harwood is there a way to easily change the opacity of a surface in rhino or Grasshopper? And would this be the same as changing the VLT (Visual Light Transmittance)? The reason I have not considered changing the VLT is that a density of 50% frit pattern is not equivalent to a panel with 50% VLT since the Frit pattern will diffuse the light differently. If there was a way to calculate the equivalent VLT of a panel with a specific frit density then the VLT method would work.

Why not just run a test on a 50% fritted panel, determine the VLT and then apply that value to the panels in your global model? We use a similar approach in structural engineering all them time (test an individual panel to determine material properties, then apply those properties to a larger global model).

You can have translucent panels in Rhino (and presumably Grasshopper) but as far as I’m aware that is for visuals/rendering - no idea how a sunlight analysis platform/algorithm would interpret that, you;d have to dig into the analysis method to find that out.

1 Like

@Matt_Harwood That sounds like a solid plan. Any ideas on how to calculate the VLT backwards in Rhino?

No idea sorry, not my area of expertise.