Cutting surface w multiple breps and manage lists

Hi!
I want to cut a surface with multiple spheres that have a thickness.
What i want to achieve is this effect (like a painted line on the wall)

I tried to populate the geometry (the surface) with spheres with and offset surface.
And the brep cutter… but I don’t know how to manage this messy list..
here is the base surface:


here are the cutting spheres:

and my messy result… I feel that I’m not far away but I don’t know how to get only the circles.

I’m joining the file here, if someone has an idea!
thanks a lot
spheres.gh (17.0 KB)


spheres_2025Apr25a.gh (17.8 KB)

1 Like

Wow, thank you for your quick answer!
and thX for the file.
What I’m wondering is how can I get the surfaces between the circles? Because we have now the curves but if I make a boundary surface from curves it’s still a mess…
Thanks again

maybe it’s a matter of boolean?
(but I don’t manage to get it done…)

I suspected you wanted to do more… This version pairs the intersections. Maybe helps?


spheres_2025Apr25b.gh (26.0 KB)

2 Likes

this isolates surfaces… a bit weird to sample geometries with one random point to evaluate Brep inclusion, but does the job :slight_smile:

spheres_inno.gh (20.4 KB)

2 Likes

Yes it is, but apparently works and the code looks simple. :+1:

I thought I was getting there with this approach but am not so sure now. :slightly_smiling_face:

2 Likes

haha thank you for your responses!

[quote=“Joseph_Oster, post:7, topic:203589”]
not so sure now.
[/quote] :joy:
Thanks for the pairs for intersections, but I don’t understand why you use “shift paths” as it works without

the above was indeed not my first attempt (or second… or third… :smiley: )

after Multiple Brep Intersection any geometrical reference is just gone, and in that flat list of fragmens, each of those could lie inside multiple pairs of offseted spheres… I had no idea how to move forward if not trying to rebuild a relation between each fragment and all the spheres used for cutting them, and Point Brep was helpful

before that I also had a thought of using Point in BrepS, but that was again not giving the partial relations but just one single containment value :frowning:

1 Like

Without “shift paths” you don’t get pairs.


(updated image)

1 Like

Thanks a lot! It works like a charm

I spend a few minutes to understand your code, and point in brep combine with XOR gate is super clever (I know have to learn more and understand what is mass addition - I will watch more tutos…)

A huge thanks to both of you @inno & @Joseph_Oster for spending time on this.
Really helpful! :waving_hand: