Circular Packing on surface edge

Hello Everyone,
I’m pretty new to grasshopper and what I’m attempting to create Is a 2D pattern like the one in the image I’ve attached. Ideally, I’d like to apply this circle pattern to the outer edge of the surface I’ve attached while maintaining space between each circle.

Any help with this would be great, thanks!

GH Help.3dm (524.6 KB)

The surface in your .3dm file reveals two significant complications not mentioned in your description, the break in the circle and the spiral surface (which appears to be warped, not flat).

Apologies, please see attached adjusted surface for example. thanks

GH Help.3dm (73.4 KB)

So you flattened the spiral surface, the rest is the same. Images help.

This isn’t the first time I’ve wondered if there is really any value in doing something that is well beyond the skill level of a beginner in GH? (I assume that’s the case because you didn’t post your own GH file.)

The circle radius goes down as the ‘Count’ slider goes up. SrfSplit takes four times longer with 500 points than with 216 points. (42.2 KB)

P.S. Changes to parameter values to get 16 rows with 216 holes per row (3,456 holes total), so SrfSplit takes 58.2 seconds.


Thank you, Joseph, I appriciate your time with this.

Hi Joseph, I’ve had time to work with your definition and apply it to a surface that is perhaps more simple to work with. I had a few questions regarding different methods of evenly distributing circles around a surface edge while keeping consistent spacing between each row of circles? Perhaps using circle packing? Thanks (60.9 KB)

I removed quite a bit of extraneous nonsense from your model. Circle packing is down the hall. (56.1 KB)

Thanks Joseph, I appreciate it!

Hi Joseph,
I’ve attempted circle packing with this model, but I don’t think it’s suitable for what I’m trying to achieve.

I’ve attached more picture examples that perhaps better demonstrate my intention.

I have a few issues :

  • Keeping the next row of circles in the center of the circles of the row that comes before it (like in the attached pictures.)

Then, keep all circles’ spacing as consistent and equal as possible for both the radius and straight sections.

Is there a tweak to the previous definition you posted that could achieve this?

Thanks for your time.

Processing: Should-I-be-worried-about-the-black-dots-on-my-windshield.webp…

Would this method work for what I’m trying to do?