Rhino WIP Subdivision Surface Project

Game changer!

Are we going to get an option to manipulate Polys by other than the Faces, Verts and Edges. Like sculpting, similar to Zbrush?

AIW asked a question concerning T-splines. The built-in Rhino subdivision object will offer robust Catmull-Clark and Loop subdivision surface modeling tools. T-splines uses a different subdivision algorithm and is an AutoDesk product. Users can choose the modeling solution that best fits their needs.

2 Likes

one gumball to rule them all

1 Like

@dalelear To be a bit more specific, I was wondering if the capabilities you are developing could substitute in a practical sense to achieve most or all of what t-splines does. I’m not a SubD modeler, so it’s sort of an academic question for me.

Between this and Cycles there’s a lot of software that’s going to sit idle on my computer.

1 Like

hi Dale/All,

a few quick thoughts:

1. Creasing. I think it would be great to have a way to solve well creasing. The reason we like Pixar SubD is not because of the format itself, we like it because you can have a creased model that visually resolves really well, here’s an example in Modo:

…So if the native solutions could also address this it would be great and Pixar SDS will not be missed.

2. modelling with curves The hardest transition that I see on designers trying to embrace SubD modeling is that the modeling paradigm of starting with a box and extruding faces does not fit with how they thing about form creation. Especially the one used to Rhino and the Surface modeling mindset. I would love to see SubD as an output option of surfacing tools when your input are curves. Some subD packages like Lightwave have this feature and they call it spline patching, see example:
Cinema 4D has a similar workflow:

3. Booleans Anoteh rlimitation of SubD’s is making hoel sin geometry, and also even if you solve that with conversion before Booleans, the history-free/static/one-shot approach to booleans in rhino is not very conducive to form exploration. Having a live boolean preview where the operands can be freely moved in space and see the results changing would be greatly appreciated. Also embracing the use of shutlining to create visual splitlines would be great. Meshfusion for Modo makes an attenpt at this (although failing miserably in UI and stability). here’s what that looks like:

https://www.thefoundry.co.uk/products/modo/plugins/meshfusion/

…sorry if it seems like I’m asking make Rhino to work like product X/Y/Z, I think none of those products work very well actually, but they serve as a good illustration of what would be desirable for SubD’s to be more useful for design/designers. After years of seeing first-hard the reaction/apathy of people when they are told what they need to do to get smooth surfaces with subD’s using the current tools, it’s possible that most designers (not the geek one sin this forum) might see pushing boxes as a non-starter.

3 Likes

The sort of subD modeling functions available in tsplines would be a grest start. The “T” in tsplines is of little consequence, catmull-clark subD native rhino is a great way forward.

Impatiently waiting…

1 Like

Sounds really cool!!! Can’t wait to play with it.

Very nice.

In my opinion a must in Rhino v6 vanilla.

Subd modeling is available for so many years already.
Fusion 360 has it by default.

Seems only logical to add this to v6, or you are out…

psub is also really nice with the edge weighting… I hope rhino will support both.

Have you used Fusion 360? …because in my experience it’s a piece of crap, can’t handle much without crashing, when it doesn’t it’s really slow and it fails at a lot of operations. Saying Rhino is out without SubDs it just makes little sense to me. Don’t get me wrong, I want this and many other things to happen but I doubt not having any of them is going to take them out. Let’s not cry wolf :wink:

Awesome news! While maybe not nearly as feature rich as T-Splines or Modo, you can actually already have Catmull-Clark and Loop subdivision modeling with creasing (hard creases though) in Rhino via Grasshopper, Plankton and @davestasiuk’s script seen here.

Imagine I answered your question with a “yes” or a “no”. In the end, would it make any difference?

My unsubstantiated opinion, is that the answer doesn’t matter. I’ll blather on a bit more below, but it boils down to all you can do is wait for a bit. When this SubD vapor turns into something you can run in a WIP, tell us what you like and don’t like.

In my opinion, robust and commercial quality modeling tools (subdivision, NURBS, mesh, …) are interchangeable. To help you gauge the value of this opinion, I want to point out that when I add an additional $8 cash to my opinion, the local bakery will generally give me a coffee and croissant.

In reality, just about every data format is eventually turned into a mesh or polyline for rendering, milling, machining, engineering analysis, and so on. There are some exceptions, for example, Rhino’s mass properties are calculated directly off the trimmed surfaces in breps. However, many modeling products use a mesh approximation to calculate mass properties used for engineering analysis.

When it comes to actually getting work done, the user interface, ability to get help quickly and from a variety of sources, ability to easily license the software for a reasonable cost, ability to get quality training, ability to extend and customize our product, ability to run without crashing, ability to exchange information with other software products, ability to directly deal with everyone in our company, and so on, are what we think matters the most. This is where we focus most of our time and effort as a company.

Our hope is to provide more modeling tools. They are not designed for “SubD” modelers or “NURBS” modelers or “mesh” modelers. Our mission is to deliver modeling tools to people who need to make, view, or modify digital models and to support those people in many ways so they will be successful and tell others about Rhino.

The SubD formats we will provide will integrate nicely with Rhino polysurface and Rhino mesh objects. The commands and interface will be designed to make you as productive as possible and to be extensions of existing commands and user interface when possible. When this SubD vapor discussion ends and something actually shows up in a WIP, then can tell us what you like and what you don’t like. We’ll go back and forth for a while and do our best to eventually deliver something of value.

6 Likes

In reply to gusojunk.

We agree that tools to make SubD objects from curve and other boundary information is critical. There will be lots of experimentation using subdivision surfaces for sweeps, network surfaces, hole patching, and so on. The basic subdivision object creation tools will be in all the SDKs, including python, so users can make these types of commands quickly and not wait on us.

The initial WIP will have subdivision objects that support hard creases. The support for soft interior creases (like the ones you showed in the gear example), will come along later. We are in agreement that the ability to create soft interior creases is a critically important modeling problem and need to be addressed. It is also critically important to be able to exchange models using the open subd format.

For the first pass, booleans will be handled by conversion to NURBS breps. The subdivision formats we’ve selected to support in the core product have well defined parameterizations (patchwise, just like polysurfaces) and can be trimmed using the same approach that we use with polysurfaces. Doing parametric trimming on these new objects and doing it quickly, robustly and accurately is a large and difficult project and it will not appear in V6 or V7.

2 Likes

Just to add some “vapor” (!) and again state that I am really looking forward to start experimenting with this native SubD tool.
As a relatively experienced user of Rhino(10+ years) +“existingSubDplug-in”(5 years), IMHO this new venture will be a tremendous asset both to Rhino users and McNeel.

Cheers

Joao

TestSubD with AddControler=Yes works well, so far, with testSoftMeshTarnsform.

-Pascal

Any ‘tutorial 101 for dummies’? I have no clue where to begin with this SubD stuff :confused: :flashlight:

Hi Wim - start with a quad mesh - MeshBox with only a few faces, even one per side, is fine. TestSubD- first just take the defaults and see the kind of shape you get… then, try with Controler=Yes- then you get points to edit directly.

With points off for the controller, the controller is just a mesh- you can do things like sub-object select a face and
a) move it with the gumball
b) extrude it with the gumball - this adds complexity to the controller and to the subD blob.

After that, - play… The testSoftMeshTransform is nice once the controller gets to be denser - it applies a fall-off to any transforms of the controller mesh, keeping things smoother.

So far as I can see, there is no way other than extruding mesh faces, so far, to add complexity, but that is presumably temporary.

The ‘Limit surface’ is a mesh, so it gets a little awkward selecting bits of the control and not selecting mesh faces on the limit surface, so putting the thing on a locked layer and keeping the control available can work.

You can delete mesh faces to create holes.

-Pascal

2 Likes

Keep in mind that this is just a “test harness” UI. It is only there so the developer (Dale Lear) can test the core code. It is not designed for modeling or editing, but it will give you a clue about what the core SubD geometry code is doing.

Have a party…

2 Likes

That sounds good - I just need directions how to get to that party :wink:
Thanks, @pascal, I’ll take a stab at it!