Perforating a curved Surface

Looks like yours works. A bit difficult to follow the logic given the switchback wiring and redundant Srf CP, EvalSrf, Circle, Pull, etc.

steps_holes_2021Jan29a

Is ToPoly the best way to get the center of a circle? I didn’t know that. White group shows a different way but the difference is very slight.

steps_holes_2021Jan29a2

I culled the original planes along with the circles so could reuse them for offset.

1 Like

Too sleepy to even begin to be orderly. I think this works better. I am just fooling around at this stage.

What I try to do is unroll the surface, then use the random seed, connect the dots, create mesh from them, find the shortest edge touching a vertex, take half it’s length, create range for a random radios for every vertex and map on the 3d surface.

messy idea 2.gh (17.6 KB)

1 Like

Sounds clever, I can’t see it, sorry.

missing

Kind of works…

messy idea 3.gh (25.0 KB)

BallPivot.gha (14.5 KB)

This one applies ‘minimal distance’ slider (blue group) to edges as well as circles and uses Anemone ‘Fast’ instead of ‘Classic’, though it still requires patience. It has flaws… Such as failing to detect one circle inside of another, a problem that was solved in the old planar rectangle code but is back.



steps_2021Jan29e.gh (46.4 KB)

Maybe curve proximity is a better measure than intersection? :thinking:

1 Like

Yeah, the code is simpler, faster and seems to be more reliable at detecting circle overlaps, though it doesn’t attempt to detect circles inside of other circles. But they won’t do any harm anyway.



steps_2021Jan29f.gh (42.9 KB)

P.S. Random (radius) also needs a ‘Seed’ slider (0 to 300).

1 Like

Look at this?

steps_2021Jan29e.gh (45.8 KB)

Sorry I am supper messy brother, I am half asleep :slight_smile:

Your file names are the same as mine. I see you added some code to what I did but don’t know why?

Oh, some additional overlap detection? My version ‘f’ does better at that than version ‘e’.

Pau and ciao!

1 Like

I just opened yours and solved the intersections and the circles inside circles. Forgot to change the name, just saved and uploaded.

You could do circle packing with TriRemeshwhich is new in R7…


Perforating a curved Surface_re.gh (175.1 KB)

4 Likes

Simplified further:


steps_2021Jan30a.gh (47.7 KB)

It’s tempting to try nested Anemone loops to handle more than two surfaces but it gets complicated.

3 Likes

And a simple workaround if you don’t have R7…

For R6.gh (20.4 KB)

1 Like

missing

Here is a workaround :slight_smile:

For R6_V2.gh (29.2 KB)

Even simpler…

For R6_V3.gh (34.1 KB)

1 Like