Hi everybody, it looks like I am dealing with a data structure problem that is way beyond my present knowledge of GH.
I’m trying here to have a regular grid of circular perforations on a set of triangular surfaces. The end goal is to be able to have precise control over the radius of the perforations and their distance from the edge of the triangular facets, as the final object is to be made in stainless steel.
The process seems to work fine on an individual triangular surface, as in the attached picture, but totally messes up when all the 20 surfaces are referenced in.

Eventually, once data tree problems are resolved, I would also like to apply a gradient to each surface to progressively diminish the radii of circles as they get closer to the top edge, but I can’t even think about that until constant radius perforations work well…

I have attached the GH definition with internalised geometry. Any help or suggestion would be greatly appreciated!
Many thanks Perforazioni 05_exp.gh (29.0 KB)

Hi Joseph, thank you for attaching your post. It is a similar situation, but yes, in my case all triangles have different sizes and orientations in space. I have taken their shapes as a given and try to apply different perforations on them. I had more luck with Voronoi perforations with gradients (see picture) but wanted to try out circular holes as well.

I was able to adapt my code quickly, though wonder now the best way to choose a refence side where the first row of largest holes is located? This tries to use the longest edge but your triangles are so irregular that it’s not always best. Maybe sort by Z value of their mid-points?

Joseph, thank you so much for looking into this. I wasn’t expecting a full review of my code, your suggestions are more than welcome, and the solutions obtained adapting your code are definitely worh an analysis.
Would you mind sharing the definitions for your two options?
Thank you again!

I’m working on it. While I was able to quickly modify my code to get some promising results with your geometry, I saw flaws - some “old” and some specific to your irregular triangles. So a major refactor is required (and in process). Power here just went out.

Marvelous. In the meantime I was able to resolve a few data tree problems in my definition, and arrived at this, which is OK but I like better how the space between the rows of circles reduces alongside the circles radii, like in your solution (or does it not? Maybe it’s just an optical effect of the diminishing radii).