Separating Multipipe SubD Based On Connectivity

Hello everyone, I have a simple question regarding meshes and subd objects.

I am trying to connect a group of joint and disjoint curves with multipipe, then convert them into meshes. The component works just fine event with thousands of curves, but I am having a problem separating the subd and meshes. What I need is to have separate shapes based on the intersection of the curves.
So for the curves seen in the image, I would like to have 8 mesh, but multipipe creates 1 subd object for all of them. So the question is, how can I separate subd objects or meshes based on connectivity?

Hope it was clear… (12.1 KB) multipipe.3dm (106.7 KB)

1 Like

Hi @pelok36084
Here’s a little script which takes a line network and separates it into nodes and struts.
It references some of the same graph functions that the MultiPipe component uses, so you’ll need to set the assembly reference for Kangaroo2Component.gha when opening it.
This will typically be in
C:\Program Files\Rhino 7\Plug-ins\Grasshopper\Components

It takes a value as input for how far away from the point you want the nodes to extend.
It would be possible to also output the connectivity information from this graph if needed. (10.5 KB)

Hi Daniel, thanks for the reply.

I was achieving a similar result with another workflow, but this doesn’t solve my issue. What I need is to have multiple subd geometries based on the connectivity of curves. So if the curves do not connect, I need them to be separate subd geometry.

So in this file, I need 15 subd geometries, but multipipe gives me 1 subD with 136 faces.
I was thinking, maybe it can be possible by grouping the curves that intersect with each other, though I couldn’t manage to do this yet… (23.6 KB)

It would be possible to group them from the script, or another easy way to separate them would be to use the Disjoint Mesh component.


Thanks, Daniel, that did it!!

1 Like

This thread is super useful for fabrication. Thanks.

I have a follow up question about splitting a multipipe up by chopping up the nodes themselves that I’ll post in another thread.

hi @DanielPiker when i use it c # component this error


Do you know the cause -My Version is Rhino7 Sr11
In the previous version of Rhino7 this error was not and the component was properly

Ah yes, the namespace was changed in a recent version.
So scripts like this one which reference it need to use eg
instead of

Here’s an updated version of the script from above with this changed: (11.4 KB)