Snapping curves to tangent circles (circle packing)

Forgive the horribly drawn curve. I’m hoping for some advice on how to create something similar, a curve draped over tangent circles along a surface. I want to utilize it on a surface to have the freedom to iteratively circle pack. That is to add some circles, cut the surface, and repack in the remainder, similar to how nesting parts and managing waste works in 2D digital fabrication.

Likewise to determine what the top profile of a gravity packed cordwood masonry wall would look like. Hoping I can lure the patron saint of circle packing @DanielPiker and some other CP heroes for feedback, I’ve chosen structural circle packing as my thesis topic and am exploring it in several construction methods.

The attached GH is just the baked surface and two sets of circles, the original planar circles generated by the circle packing and those circles projected back onto the surface, which may be more relevant. I can provide the base file as well, it’s just messy and I use a lot of rando plugins.

following tangent (64.4 KB)


Thank you

You can use a Kangaroo definition by @DanielPiker. I think it works best in 2D so added what’s needed to morph your curves to a 2D surface and in the end back to the dome. I added a rectangle in 2D so the shrinked curve can be used to split the dome.

following tangent (113.8 KB)


That’s brilliant, and very satisfying to watch in action! Thank you. I’ll post back with the final results.

1 Like

Is there a way to do without the full closed curve boundry and just deal with the top line/profile? This method worked well for the dome but not so much for the wall. I’m trying to find a way just to drop the top line of a 2D bounding box to creature a contour.

Depends a little on your wall geometry

The corners tend to bunch up when I increase the curve divisions/resolution. Just having the sides and bottom is causing more trouble and I don’t actually need them. Attached is what I have with geometry, just wondering if I can break out of this particular mold, use the rod without polygonal area somehow. When It tried it didn’t work.


snap line (81.3 KB)

The definition runs slowly but it seems to work as expected. Are you aware of this slider?


Interesting, yes I do use that. I set up a timer script to move it incrementally till the max value. The bunching is just one problem, however.