How to create intersection between hollow pipes?

intersect
boolean
unhandled

#1

I have three solid pipes. And I want to create their intersection basically a merged single pipe where all three pipes flow in.

Can someone point me in the right direction?
I do not want for someone to do my work but rather to show me how to solve this as an example for similar future problems of this sort.

I tried using the BooleanDifference or BooleanSplit on pairs of the pipes, but both command failed.
There is an article which explains why Boolean commands fail:
https://wiki.mcneel.com/rhino/booleanfaq

After reading it, I still do not understand what is the problem with my pipes. For example when I intersect two of them, I only get the intersection curves of the inner hollow surfaces, not the outer surfaces as well. Why is that so?

Thank you very much for your help.

Pipes Intersecting.3dm (606.7 KB)


#2

I used your screenshot,
then instead of _Pipe -> used _Sweep1 -> _BooleanUnion (Sometimes it work without _Cap)
(if not working properly) -> _Undo -> _Cap -> and again _BooleanUnion (Sometimes it does not work)
For the rest _Trim -> _Extrude -> _BlendSrf

Curves
pipe.3dm (62.6 KB)


#3

Thank you @eddi!

The pipes are hollow. Is it possible that you try the same approach you showed but with the Pipes Intersecting.3dm file instead of a screenshot?


#4

Sorry no, I have Rhino v4 here, i can not open Rhino 5 file
Other way, you can try:
== make your curves cleaner
== on left and right pipe, to set smaller _Pipe radius at the lower ends
Result


#5

I didn’t understand you this @eddie. This is how I create the hollow pipes 3 pipes: by setting a smaller radius when using the _Pipe command, and then _BooleanDifference between the pipe with larger radius and smaller radius. Then I repeat this three times: for each pipe.

Here is the Rhino4 file
Pipes Intersecting Rhino4.3dm (602.1 KB)


#6

Interestignly when I try to _Intersect either of two tubes, Rhino 5 can either not find any intersection, or it just finds the one at the very bottom of the model: the circle.

Why?
How can there be no intersection curves?
I tried creating the pipes with both the _Pipe and _Sweep1 commands and again no intersection curves are found.


#7

Good Mo,
I have shortened your lines,


Here your File back
Pipes Intersecting Rhino4X.3dm (179.6 KB)


#8

Thank you @eddie

But my pipes are hollow. Should I now do the same as you showed in your last reply but with lesser radius, and then perform the BooleanDifference? If this is so, then BooleanDifference fails.

Why is Rhino incapable of creating a BooleanUnion between all three pipes with all three having the same diameter from start to end?

Why I can’t even get an intersection curves between two pipes, when I run the _Intersect command?


#9

Ahh i see it, You want double wall

Same steps for inside pipes worked with 489mm and 490 radius
Pipes Intersecting Rhino4XX.3dm (487.9 KB)


#10

This is a mix between what the user is preparing, complicated geometry and programming
Your curves are a good example
To many knots and and see for yourself, with zoom in, this position of curves does not make calculation simpler


#11

Thank you @eddi !!!

Your last file is what I needed!

What you showed me in your last file is the bottom ending of all three curves, once they are trimmed?

Do you have any recommendation for my future issues of this type?
For example how can I reduce the number of knots? If I do that, my curves will not correspond in shape to the original curves.


(David Cockey) #12

@bdidier What is the source of your original curves? What is the their accuracy? How do you obtain the Rhino curves from your original curves?


#13

Hi @davidcockey,
Thank you for the reply. You are another user from whose replies I also learned a lot on this forum!
The curves come from a plan of the pipe axes network. It’s a project a couple of months old. I posted some examples in this topic:

The pipes axis network are being sent to use by the external company as .dwg drawings. Then what I do, is one by one _Rebuild each of those .dwg pipe axes in Rhino. Sometimes I redraw them manually by hand also. Do you think this is incorrect approach? For example in a lot of cases the new Rhino curve that I _Rebuild is has much more control points than the imported .dwg curve.

I do not know this. Is this related with the tolerance value set in the .dwg file?