Is it possible to Retrieve a Specific SubD Surface?

Hi, I’m wondering if I can select and work on specific surfaces of closed subd objects. So far I’ve got the attached but as I slide through the listed items nothing highlights in the viewport. What am I missing?

Thanks,
Adam

Try not going thru the list first. I don’t know why it makes a difference, but it seems to.

2 Likes

As with @webdunce previous reply, there are two issues here:

  1. The Item component should be used to read the objects after Explode component, not Index,
  2. The Item component should read data from Explode, as only text information can be read from the Panel.
1 Like

Thank you!

So following up from this. The explode option breaks the subd into each face. Which is cool but not quite what I’m after. I’m wondering if I can break it up into each polysurface (as divided by a crease) and not every single face? I imagine this will require a different approach. I can’t see a convert to nurbs component. If missing I’ll just revert to doing this in the viewport.

How about the Brep + Deconstruct Brep ?

Just tried this but as before sliding through the items yields no highlighted geometry. Any ideas? Thanks : )

Pls share this .gh and .3dm file.

Ok I’ve resolved that. I think what I’m wondering is if grasshopper can retrieve groups of faces as defined by creases? For example, a creased cube with only 6 sides could have many more subd faces. I’d like to somehow only be able select each side - ignoring the individual faces. I wouldn’t use subd for this example but it illustrates my problem in more complex forms.

Typically in rhino I’d select the faces that comprise one ‘side’ and then copy/paste to create a new open subd for grasshopper. But I was wondering if there was a better way of doing that?

I think you achieve it with SubdToBrep, fyi,
SubdToBrep.gh (8.2 KB)

2 Likes

Ah wow! It works.That’s great. Thank you so much. The python component says it’s old in my version. What can I do about that? Does it matter? I couldn’t natively find it in grasshopper. Is this something you wrote?

Oh hang on. It doesn’t seem to work on a more complex geometry. I modelled a cube without creases and it separates it into 6 sides - but there’s no creases. I need something that combines the faces within a creased boundary and treats it as one surface.

For example the below surface could be split into two as separated only by the crease line.

Yes, it is no matter,

It is not a natively component of Grasshopper, it is a function in RihnoCommon, pls visit following page for more details,
https://developer.rhino3d.com/api/rhinocommon/rhino.geometry.subd/tobrep

Sorry, my previous exmaple might have misled you. The number of polysurface obtained from a SubD is unrelated to crease and depends on the structure of the SubD object. The GhPython in the previouse exmaple used the same options as the PackSubDFaces command, for details, pls refer to the page below,

1 Like

Ok I’ll take a look into that. Thanks for your time and help.

does this help?

sub crease re.gh (29.8 KB)

in this specific case you could find those two creased vertices by converting to a brep, using “brep edges” to get the exterior edges, and then using “curve discontinuity” to get the corners, creating a line between them, and splitting the original brep with it.