Need command split disjoint surface same as split disjointmesh

Hi there,
I am working on rhino 7 . I have imported model which has disjoint polysurfaces as one open polysurface. also grasshopper detects this geometry as one open polysurface. not able to get individual area for object.

imported model.3dm (235.9 KB)
sample (5.3 KB)

we have splitdisjointmesh command for mesh objects.

can we have similar command for polysurfaces.

thank in advance.

The command is called CreateRegions. Rhino V7 does not have the option to delete the originals, i.e. it makes a copy of the individual polysurfaces contained in the disjoint polysurface and leaves the original. The V8 WIP does have this option.

thanks for reply. I see this command works on single object. and found 2 flaws:

  1. it does not delete original as you mentioned, also last selection includes original and new geometry both. so no possibility to segregate both.

  2. it cannot work on multiple object.

there should be enhancement which can simply disjoint all polysurfaces at once.

I usually explode the objects and join again, it may require an adicional boolean union depending on the geometry

Hi Ranjit, see if this helps - @chuck just pointed out a function in Rhino Common that does, I think, exactly what you want. (917 Bytes)

To use the Python script use RunPythonScript, or a macro:

_-RunPythonScript "Full path to py file inside double-quotes"


Hmm, if you run the script on his objects it produces 3 non-manifold polysurfaces instead of the 6 manifold polysurfaces I expect. CreateRegions does correctly produce 6 closed manifold polysurfaces but leaves the original disjoint object.

Also @pascal, @chuck, in the WIP, the DeleteInput=Yes option does not actually seem to be working (on this file at least).

Right… I did not notice there was a Rhino file posted but yes, it can return non-manifold-but-connected components, so yeah… not quite it, in this case.