Grasshopper Solid Union - works with some instances, not others

Hi everyone,

I have an issue similar to the one above. But I haven’t really found a good resolution for it, so I’m asking again, if you don’t mind.

I’m trying to use Solid Union to unite the trapezoidal prisms into the rest of the body. I split the trapezoids first and then recapped them. SolidUnion works for some of the objects but not the others. In particular, SolidUnion is failing with the element circled in red (list item #3 in the gh definition). It works in Rhino with BooleanUnion though, so I’m a bit confused about that.

I included my original unsplit trapezoids along with the surfaces I used to split them, which came from the larger Brep. I extended them within gh using a definition from someone else (attached as well).

Would you recommend another method instead of relying on SolidUnion? I’m guessing I’d have to split/trim a bunch of the surfaces and then knit everything back up. Seems cumbersome, though.

20200218 - solidunion - ry.gh (1.2 MB)

Extend_Srf_Python_2018Jan26a.gh (6.5 KB)

Did you check Absolute Tolerance in Rhino Units settings?
On my cpu it works with tolerance set to 0.01.

1 Like

I did not. I’ll go ahead and do that and get back to you.

Thank you. That fixed my problem. Probably don’t need tolerance down to 0.001 of a millimeter anyway.

1 Like

Replying to this just as follow-up. Turns out the model itself is pretty finicky. As such, the other half of the cast wouldn’t Union unless I set document tolerance to 0.1, which is pretty unacceptable to me. I ended up redoing the entire approach and manually trimming/joining everything back up within Grasshopper.

Seems to work out much better and I can position the tabs at any point along the parting line. And definitely not as resource-intensive as I thought it was going to be.

Do you really need better than 1/10th of a millimeter accuracy for a body cast? That’s 0.004 of an inch.

Finicky indeed!

Right. If the 3D print were accurate to 0.01mm, that’d be awesome. But keep in mind that you’re setting the tolerance setting within Rhino itself. Meaning that the 3D model could be off within +/-0.1 mm. The effect would then compound itself within the tolerances that the 3D printer could hold, +/- 0.5mm.

That and I’m also following recommendations from what I read up on, which mentioned keeping Rhino tolerance settings to at least 1/10th of what your machine can hold.

https://wiki.mcneel.com/rhino/faqtolerances