I think this might be an easy one - but it’s beyond me.
I’m taking 2 breps representing a building mass and dividing them into levels. At each level of the breps, I’ve created a plane respectively which I’m intersecting with the brep to get bounding curves (floor plate outline). I then want to take those surfaces and split them where they overlap. For this, I want to use SrfSplit, which takes a surface and splits it with a curve.
So: I’m using the SrfSplit component on a list of surfaces and a list of curves.
The lists are long, but to give you an idea, it’s like this:
Curves:
{0;0}
0.Curve A
{0;1}
0.Curve B
{1;0}
0.Curve C
{1;1}
0.Curve D
1.Curve D’
*Notice that the last branch has 2 items
Surfaces:
{0;0}
0.Srf A
{0;1}
0.Srf B
{1;0}
0.Srf C
{1;1}
0.Srf D
The first number in the tree represents which Brep the srf or crv is coming from, the second number is essentially which floor level it is within that brep.
So, what I want to do is combine all surfaces that are on the same floor level, regardless of which brep they’re in - same for curves. So, I want my data to be restructured like this:
Curves:
{0}
0.Curve A
1.Curve C
{1}
0.Curve B
1.Curve D
2.Curve D’
Surfaces:
{0}
0.Srf A
1.Srf C
{1}
0.Srf B
1.Srf D
That way I can limit intersections (computationally expensive) by floor… All of the surfaces in {0} will only intersect with all of the curves in {0}.
I’ve been using a few of the Human tools (I don’t know if these are only available at this firm or if they’re published) like Treefrog, in addition to the GH native tree tools. I just can’t figure out how to remap these branches the way I want them to. I want it to be flexible so that whether I input 1 brep or 2 or 5, or whether a branch contains 1 item or 2 or 5, it will consistently work.
I hope this makes sense and isn’t too much to ask!
Eike