Boolean with pipes

Hello. I have a technical question. I’m on the latest version for mac.

I have here some simple arches. I want to boolean these together, but BooleanUnion fails. I read this article about Booleans in Rhino and i believe it fails due to surfaces being tangent. Rhino cannot calculate the intersection properly and therefore fails.

As you can see here, Rhino tries to calculate an intersection but the resulting curves are not closed loops even though the intersection should be possible theoretically, right?

Does anybody have any clever workarounds for this? I think in this case specifically it would be pretty hard to try and edit the resulting intersection-curves and then split my objects.
As mentioned, I’m on latest version for mac (Rhino 8). I will attach my file. Thanks for your help.
Pipes.3dm (3.9 MB)

i scaled the big arch a tiny amount on the red axis of the gumball and it worked

Pipes.3dm (1.1 MB)


scale 1d the middle arches works to

what is your goal? if you are cnc machining or 3d printing them, they will cut/ print as is as long as both parts are closed.

you can shrinkwrap them if you want them unified-

or if all else fails, go old school and explode then trim the surfaces individually.


if he makes one pipe slightly larger it can work to?

rhino will not find the red intersection.
this is why boolean operations (and trim @theoutside) both fail.

to get the intersection:
_extractSrf (both)
_insertKnot Automatic, 4 or 5 times (EDIT: both directions)
now
_intersect will give a longer / closer result.
_extend the intersection curve
make sure the endpoint is at the midpoint of the arc (move the CV or SetPt)


Screenshot: pipe-like surfaces after inserting Knots.
(before extend)
The surfaces with endless Knots are only to generate the curve.

now trim works with that curve for both (original) surfaces.

Pipes_fixed.3dm (1.8 MB)

… and for lazy people with big bricolage risk:
construct the curve as above
use the curve to split the faces in question (_splitFace Select Curve option)
delete the part of the surface that is not needed in the final solid.
_booleanUnion (the bricolage action)
_explode
_join
Pipes_fixed_bricolage.3dm (1.2 MB)

happy modelling - kind regards -tom

3 Likes

That looks much better retains everything and cleaner

1 Like

and there are a few issues with intersect / pull … just to keep topics linked:

1 Like

Oh, I’m just doing this for fun, really. I’m trying to learn some more advanced surface modelling and i thought this would be a reasonable challenge. I hope I haven’t bit off more than I can chew, hehe!

Why must Rhino be this pedantic though? I sometimes wish Rhino had a ‘relax and get the job done mode’ for basic stuff like this. I can join these without issue in other software:


Yet Rhino just refuses and requires extra steps of scaling or shrinkwrap or trimming surfaces etc. Again - fine for high level surfacing but for someone who just want to tinker with 3d printing and do some basic modelling / modding this is really not user-friendly.

Also most of those ‘KNOWN LIMITATIONS’ linked to in the first post (coincident seam edges, coplanar faces) are a bit ridiculous. No other CAD software comes with a list of caveats for the functionality of something as basic as boolean operations. These things should just work without so much fiddling. I can understand these problems in early versions but we’re close to V9 already and booleans are still an issue.

Here’s the joined part from MOI3d:
join.stp (171.8 KB)

4 Likes

How is moi developing these days? I remember it was an old Rhino developer who started it and it could run on pc tablets

Just installed the demo version the other day to check it out - haven’t really used it much.

Trial and error is what even the pros here do keep at it and learn from the solutions they ad up to the experience

Hell even if im told i make pro models i feel totally like a clueless beginner most of the time I learned something new here to

1 Like

Hi Ftzuk -

As far as I know, the math involved is somewhat complicated but it’s something that we keep working on.
-wim

I will have to try it out to I tried it when it was starting out so it’s been a while

:unamused_face:
but reported since at least 9 years and got solved by other cad software as shown above…
i really would appreciate, if those intersect issues would be addressed with more emphasis.
my guess without being a computer scientist - better intersect and pulling will also be a benefit for more robust filleting - beside boolean operations.

I would greatly appreciate if those commands worked better while I find work arounds it can be a huge pain in the arse bone sometimes it makes me hesitant to create more complex projects especially fillets

It would be nice to know if it’s a man power issue or knowledge.

I’m afraid we have first hand experience with how “solving” it by licensing external libraries can end up - which is how the other cad software as shown above do this. It’s difficult to be the little guy when the “superpowers” decide you shouldn’t be on the map…

Sam Potter - @sfp - is new at McNeel and is taking over the intersector code.
-wim

3 Likes

Yes, hello! Please don’t hesitate to @ me with any and all core geometry bugs. Thanks for bringing this to my attention, @wim.

3 Likes