Circular perforations on faceted surface

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)

I had to disable preview on several components to see what’s happening. Then used List Item to look at just one surface.

I see by their areas that your list of triangles vary in size…

Will say more later but did you see this code I posted three days ago?

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?

I’ll take another look at your code but found myself wanting to change things instead of following your lead. :man_shrugging:

P.S. Sorting by Z value of edge mid-points looks pretty good :exclamation:


1 Like

I made some changes but can’t follow this, sorry.

Perforazioni 05_exp_2024Oct31a.gh (32.3 KB)

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).

Keep me posted and thank you!

Getting there but not quite yet. 6+ power outages this morning derailed my train of thought.



2 Likes

I posted code in the other thread:

There may be flaws remaining but I decided to quit for now. :sweat: :sunglasses:

That’s great, thank you so much! There’s more than enough to look at for now