Boolean operations in Grasshopper usually lead to “random problems” like the following. Sometimes you can find some workaround by dividing the boolean union into pieces and then joining all together, but this time I failed… Please, would you help me?
I have some larger sketch that generates different geometries for 6-arm Breps. To illustrate this weird behavior I´ve prepared a minimal internalized version SolidUnionProblem.gh (12.6 KB). However, whereas it works nice for most geometries, for example (select “Good” in “Select lines” selector):
Unfortunately, your solution seems quite unstable, at least in my computer. For example, using the 0.002 tolerance you´ve employed, yields one Closed Brep and one Open Brep (instead of the two Closed Breps you´ve obtained in your system with exactly the same input).
Not sure this will be robust in any way, but at least I gave it a try…
The main idea is to reorder the tubes and process to boolean operations in groups where I think success is more likely to happen.
Both examples work (with bad/good input), with tolerances set as default (0.001 in distance, and 1.0 in angle). Could be interesting to check for more cases, although the outcome is still likely to be bad.
I experienced such a problem in the past and the solution was to slightly move the pieces : the union actually worked if the lines were not perfectly joining in a center point. But I tried that here, with no luck. I get the feeling the problem comes from the two vertical tubes since they are almost aligned, but this is purely hypothetical.
The MultiPipe gives slightly closer results if you divide your curve in three and build a polyline.