Question about filling a shape with circles spaced apart?

Hello, I have used sketchup in the passed and am trying to learn it again. Recently I came across a video where I saw the state of texas outline filled in with circles spaced out apart. Can this be done using sketchup or any other program? Like set circle size and spacing between other circles?


Yes it can be done in Sketchup in the way shown in your image.
This appears to be a simple pattern of arrayed circles with the ones outside the border of Texas deleted.

That’s April’s project and she did that in SketchUp as shown. She and I talked about that some time back.

Hi Dave, yes I saw April’s video and saw that she was using SketchUp but I was not sure if I could have it auto fill a shape like a rectangle if I put in the circle size and minimum distance between circles.

Not without creating a plugin yourself and figuring out the math. If the goal is to fill a shape with the maximum number of circles the answer might not be very easy. For instance, the Texas map would probably fit in more circles with a more random-looking arrangement, or a cupboard shelf would fit more teacups. I understand that there is no “right” answer, only more or less optimal ones, just like in the old problem of finding the shortest route through several points on a map.

April and I talked about how to arrange the circles to get the maximum number into the shape. As Anssi wrote, it might be possible with an extension but I’m not aware of an existing one. It looks like she just went for the staggered rows. (Might be appropriate after drinking enough whiskey to fill a texas-sized map. :smiley: )

The most packed form with circles is them touching and their centers on the apexes of equilateral triangles [all 60° angles] with all sides equal to radius x 2.
I’d make a component of a such a triangle and array it as needed [2 x sides apart] - perhaps inside a temporary group to separate them from the rest of the model.
Then edit the component to include 3 circles of that radius [perhaps each of them as copies of a component], each centered on the triangle’s apexes, finally delete the triangle.
All instances will now abut with the circles touching…
Explode the components, then delete any circles that straddle the bounding edges of the ‘map’ outline.


Thank you for that. Very good idea. And since there needs to be a web between the circles, it certainly wouldn’t be a problem to make the circles a little smaller than the triangles. Triangle components could be arrayed and then replaced with circle components.

I was going to suggest using your slicer @TIG to create a grid of boxes with dividers. This way you can specify the diameter of the circles and the spacing between, although only in a straight grid not a diagonal, if I’m thinking correctly.

Slicer does allow angled slicing, but I think this is easily done with the native tools - as @DaveR suggests, with slightly smaller circles offsets to form any ‘web’ that’s desired where the ‘almost’ touch…

Thank you for the suggestions on how this can be achieved, time to try and get it to work.

1 Like

I wonder what the result would be if you use an extension like MS Physics.
You would have to make a solid of the country, rotate it 90 degrees and a hole at the top and use gravity.

If you’re going with an extension in the desktop version of SketchUp, take a look at Component Array. You might be able to use this along with the Offset tool to create an array on a face, with a uniform offset against all the edges.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.