algorithmic modeling for Rhino

I'm trying to understand how to make intersection solid differences for multiple pipes. Id like to be able to use a cnc controlled saw to custom cut tubes so that when joined for welding they fit perfectly at the angles they need to be assembled. So the first issue is how to make the boolean differences on multiple objects and the second issue is how to pull measurements off those angles? any ideas? I found a vb script by D. Rutten that finds the curves for multiple brep intersections but I'm not sure how to move forward from there to multiple intersection solid differences. THANKS -Ethan

Views: 3541


Replies to This Discussion

I made some progress on this problem and thought id share the definition with the forum. I tried so many complicated solutions before arriving at this rather simple one! I'd still like to improve it some more so that it would work for a complex network of pipes that have connections on each end but its a good start. Also i would like to have a part of the definition that pulls off the angles of each cut but that's a problem for future me. 


Hi Ethan,

Your following up post is an intelligent way yet I think if you have multiple intersections, or your input isn't in a clockwise/counter-clockwise order it will not work properly.

So I did some solid union and intersection to make the pieces you want (kinda). It will create separated pipes as well as a joint knob. If you 3D print them it will be fine, but I guess if you want to CNC these pieces it's too complicated.

I'm interested to see some better ideas.



Hi Guys, 

would you have any idea how to do this with a round end, i want to 3d print and I think that this will be a bit tricky because the joints will be weak 

hey ethan,

did you solved your problem? I am doing something similar right now. are you looking for a solution like you see in the attached image?

let´s go for a beer the next days!



I am looking for this problem. Can you share Your definition?

Wow, that's what i'm looking for! Can you share your definition?

Thank you very much! I will try this tonight and report here if it's work!

I already know it works. :)  It does depend on precise alignment, though, and these are cylinders, not the 'Pipe' component.  You can use 'Deconstruct Brep' on the result of 'SUnion' to get all the separate surface pieces ("Faces").

I tried to join breps but i have some errors. Do you have any solution for this simple definition?


I don't have Kangaroo (removeDuplicatePts) and TT ToolBox (Remove Duplicate Lines) so can't see what you're doing.  I can't even see your Brep parameter, which appears to be null ("1. Solution exception:Object reference not set to an instance of an object.").

But as I said, 'SUnion' depends on precise alignment and doesn't always handle random intersecting geometry well.

I made "internalise date" so the brep should be there.

Now i have attached only points and curves without Kangaroo components. 

Maybe another solution with joining brep's will be to change breps into meshes and the join?

I need solid brep or mesh for 3D printing.







  • Add Photos
  • View All


  • Add Videos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service