Right, thanks.
I hear you.
However, and having said that, &c, &c…
In this particular case I have some control over the input data (surface plots). They will always be reparametrised to fit within a 1 x 1 x 1 unit bounding box, and (pretty much, as in pretty much enough) always start at 0,0,0. And I can decide, in fact it seems I just decided, that there will always be three of them.
As we know, the only (“only”) thing I need is to cut these surfaces where they intersect each other, and cull the surface fragments that “lie beneath” another surface.
The attempt above (that for silly versioning reasons you still can’t open?) does that in this instance. So I got some of the way from when we started the conversation - which, by the way, I’ve enjoyed and am still enjoying a lot - and for this I’m truly grateful. You already made me almost solve this, you Dark-Lord-shoulder-to-cry-on you.
The strategy I’ve used for this latest attempt is to build a surface, let’s call it the base surface, that’s scaled to be wider (in x and y) than the surface plots, and moved down (in z). I then build breps between each surface plot and this base surface. I then populate the (cut) surface plot fragments with points and cull those fragments that have points within the two breps they are not part of.
This sort of works. Matching up the different points/edges to correctly construct the surfaces that make up the breps is a bit of a nightmare, but at least I got around the brep-from-hell-that-wouldn’t-close issue. The whole surface plot-to-closed(-ish)-brep thingie got pretty messy, so I clustered it (apologies in advance to Joseph Oster if he’s reading this) - but I now need two different clusters (based on slightly differing logics) to make it work, which to an extent brings us back to the dating of a different girl scenario.
But only to an extent. So out of these ramblings I vaguely sense a new question forming, and despite possibly overstaying my welcome I’ll come right out and ask it. Have you in your c# vaults something that does what the two clusters below do, but in a less improvised (single component, (3) task) sort of way?
Oh, and can you open it?
191001_peter-question-3.gh (45.0 KB)