SubD workflow examples for grasshopper: extrude, loft, offset. Also: Questions about creases

(This post is mostly about starting a discussion and sharing workflows for SubDs in grasshopper, but there are questions about creases all the way at the end, if you want to skip ahead.)

I couldn’t find any examples for how to extrude, loft, offset or crease SubDs in grasshopper, so I went hunting for components that made these things relatively easy, and made my own examples. Here is a definition that shows workflows for some SubD operations: SubD with GH.gh (67.0 KB) I couldn’t get native components to do what I wanted, so this relies on mesh operations in Pufferfish. (All the toggles and sliders you should play with are in green colored groups.)


(subD=Blue, Mesh sources=Red)

Polyline to mesh lofting and extruding are, I think, critical to a GH subD workflow because in Rhino one of the best tactics for SubD is to “think in box mode”. I couldn’t get the native ‘Mesh Loft’ to be precise enough with polylines to allow reliable welding. @Michael_Pryor’s `Parameter Loft Mesh" component can do it. It also allows easy-ish subdividing of the loft. This means extrusion, which really just lofting to a moved copy, is easy:

Lofting is just as easy. This is three separate lofts, joined together. Note selective creasing. and different numbers of subdivisions in each of the three joined lofts.

Offsetting with Pufferfish’s ‘Offset Mesh’ is easy:

Throughout the definition, creasing relies on on toggling the “identical combine” input of Pufferfish’s Rebuild Mesh, followed by feeding the mesh into the native SubD from Mesh component with it’s “Creases” input set to “at mesh edges”. This has limits. For example, I can’t control vertex versus edge creases:

There are other issues with creases too, noted in the definition:

Also, a minor gripe about the native toSubD converter:

And now the questions about creases, promised at the top:

  • Is there an easy way to crease mesh edges in grasshopper by just running them into a component?
  • Does anyone have examples of workflows for selecting mesh edge rings to crease?
  • Is there a way in GH to crease and uncrease mesh vertices and edges separately or is that just a SubD thing, and only available in Rhino for now?
  • Can we expect any new SubD grasshopper components in the near future? Is there a space that already exists to request them or should I start a separate post?
10 Likes

Hi @Max3 did you find a better workflow to get offset from open SubD’s with crease control?
I wish there was a simple way to do this, maybe with the new enhancements in GH this is easier, but I’m just a beginner in GH and I’m still learning.


This is my basic attempt to create closed polysurfaces that I can use to create some nondestructive booleans inside GH. It’s pretty basic and it just works with one closed naked edge. Idealy the result should be full SubD…

I tried other methods using SubD edge tags but my GH knowledge is limited at the moment and I couldn’t solve it yet.
Offset_SubD.gh (23.6 KB)