SubD to NURBS Workflow

Hello to everyone. I would like to ask if anyone out there has found an efficient workflow for moving a concept design modelled in SubD, to a controlled NURBS model aimed at production. Leaving aside the Class-A need, for example, in car design, I always see car modelling based on already established set of elevations, plans (which means the design has been completed already, very often, on existing cars), however, I am not aware of a proper workflow for translating a SubD developed at concept stage (which inevitably might have bumps, odd reflections and areas which need a more controlled approach) to a set of NURBS Patches to move the design development forward? Thank you in advance.

2 Likes

Hi @luca_biselli ,

Have you tried the ToNURBS command to convert a SubD into a NURBS polysurface? The default setting is to pack as many SubD faces together into single surfaces as possible. If the resulting edge layout is not ideal, this NURBS model could be split and used as the basis for traditional surface modeling approaches.

1 Like

Hi Brian, thanks for your suggestion. Yes, I did and it is where I was going for, for time saving reason and for adherence to the primary concept form. However, I thought this was not the most effective workflow, hence my question. The result would a multitude of patches, from which it would be possible to extract edges and therefore curves to be then rebuilt for proper NURBS surfaces creation. Is this what you are suggesting in more detail? I was just wondering if there are alternatives methods. Thank you.

1 Like

Are you getting a nurbs surface for each of your SubD faces?
After running the command ToNurbs, click the option “SubDOptions” and check that the option “Faces=” is set to “Packed”:
2024-02-01 15_12_41-2023-08-24_XEF-MY25_telaio 001.3dm (467 MB) - Rhino 7 Commerciale - Front


btw, @BrianJ , there are developments about custom packing? (I’m sure it’s already tracked…)
Any SubD user is waiting for that feature… hope it will come to 8 and not being pushed to 9…

1 Like

Thanks Riccardo, I get different surfaces according to the level of complexity of the area, but I will retry as per your suggestion. I was wondering if there is a way to smooth the SubD control mesh (so that, for example, there is well distributed spacing, to avoid the desired surface has bumps, similarly to how QuadMesh seem to work)?

@luca_biselli ,

Yes, that is what I was suggesting. We’d need an example SubD posted to have more specific suggestions. In general, if your SubD has a clean quad flow of faces, you’ll get clean single surfaces in those areas. Using continuous edgeloops in the SubD is key to reducing the NURBS surface patch density.

@maje90 ,

There are a number of enhancement requests regarding ToNURBS that are on file for @pierrec to look into. Specific examples showing what is desired are always welcome too. As I understand it, the math if pretty crazy to do this in the first place :slight_smile: so any requests for improvements are best if they include sample models and specific details about what’s desired. We’ll get it filed and on the pile.

1 Like

Thanks Brian, I will upload an example later today.

Hi Brian, attached you can see a SubD surface which could be a bonnet. By transforming this SubD into a NURBS polysurface (packed option activated), I get quite a lot of patches in the bottom nosing.
This will be of course fairly easy to remodel, but this discussion is about the best workflow. The Originating Quads are not evenly spaced, hence my previous question about a command which can make them more regular?

1 Like

From what I’ve seen many, perhaps most automatic conversions of SubD models to NURBS models result in significantly “heavier” (more control points, etc) and more complex NURBS models than needed by a new NURBS model of the same shape.

The best workflow overall in many situations may be to treat the SubD concept design as a concept, and create a new NURBS based design which captures the essential features of the concept design. This will depend on the shape, complexity and features of the concept design, the anticipated extent of the development and modification of the design, and the requirements which the final design needs to meet,

Thanks David. I totally agree with you. Of course, in case the concept design is fairly close to the final form, I guess it would make sense to reuse the geometry as much as possible, for time efficiency, instead of rebuilding it from scratch. Therefore, so far, I guess we can identify two main workflows:

  1. Extract NURBS patches from the main SubD conversion, in order to get basic relevant edges, isocurves etc…to then be rebuilt, joined etc… to create a set of refined NURBS patches for the final model.
  2. Use the SubD conceptual geometry (locking it to avoid unwanted moves), as a tracing-over base, instead of using the standard method of tracing over elevations and plans, as seen in many tutorials around.
    This is my understanding so far of what the possibilities are. I wonder if this is what they do, for example, in the car industry?


ToNURBS | Rhino 3-D modeling :tipping_hand_man:

That’s because on the “nose” you have there is some triangle faces:
subd
^ see how I added a segment (aka split a face into 2) making the triangle a quad…
(anyway, this kind of shape results in a nurbs surface with its 4 corners “compressed” into making a smooth continuous perimeter… not the best for all scenarios)


… you are not having all quads.
Yes, the best workwlow would be to have all quads where the shape details change, try to push non-quads and “extraordinary vertexes” (interior vertex connected to an amount of faces different from 4) to flat areas.
This is not an absolute, sometime you can have exactly the shape you need with a triangle or a pentagon, but happens rarely. Also, with non-quads the ToNurbs will create many small patches as you’ve seens… making later traditional modeling more cumbersome. You have to evaluate yourself.
Practice teach better than anything…

2 Likes

Thanks very much Riccardo. In regards to the workflow, what is your view on option 1 or 2?

In my opinion, neither of 2.
I do not work in the car industry…
Imho, just plan ahead and use the result of ToNurbs as it is.
The idea of using SubD is exactly because working freeform shapes with Nurbs is slower and tedious.
If you use SubD to then re-do everything again with nurbs, that make no sense to me.
SubD can be accurate as much as you want, but again if you are about to talk about “Class A” surfaces, then I’m out. There are plenty of threads about that…

1 Like

Hi @luca_biselli

I am in the same situation as you, I have recently promised myself, committing myself to understanding more about the best way to obtain the suitable Nurbs shape starting from other objects
(I think it’s called reverse engineering)
therefore from a Mesh or a SubD not exactly with optimal shapes
rework them to then obtain the right curves for the Nurbs


Hi @maje90

right :+1:

this is also my general way of approaching it so I can only agree


ideal for those like me who mainly base their training on experience, it would be to initially find information on the various differences in the applications of the methods.

type: from a given situation “Mesh object” do xyz operations you will have this result, while if you start from a “SubD object” do uvw operations you will have this other result. obviously I am talking about an indicative result, I believe that it is not possible to indicate all possible cases but above all using the same sequence.

ps it would be appropriate to know if with a Mesh object “that also presents deformations” it is better to convert it to SubD and then recover the curves for the Nurbs or try to recover the curves in another way. or do you still know whether it is better to correct the object converted from SubD to Mesh or is it better to correct the next step, therefore the conversion from SubD to Nurbs?

(are there links with examples in this regard?)

1 Like

Hi there, this question arises from the recognition that while numerous tutorials offer ideal workflows for modeling cars using traditional NURBS based on precise blueprints, SubD modeling in software like Rhino is comparatively newer. Notably, some designers now specialize as SubD modelers! With SubDs gaining traction in the car industry for conceptual designs (but also in product design), it’s logical to leverage their geometry as extensively as possible before transitioning to NURBS modeling. This approach could prevent starting from scratch, particularly when time and budgets are constrained and the conceptual models are already near the final desired form. Currently, it seems these two modeling techniques operate in silos. However, in my view, integrating them could significantly enhance the design process. Hence my question on what the experience of the other members of this community is.

1 Like

It’s so funny…I heard so many “car designer” saying :“noon Rhino doesn’t fit car design” and funnier:" noo Tspline (subd modeling inside Rhino) will never fit the car design needs".
Then history is telling that Tspline was bought from a company that (badly) integrated it into the leading software and now they can’t leave without. :joy::joy::joy:

2 Likes

Hi @luca_biselli ,

You may have the answers you were after at this point from the other replies but if you can post a 3dm file that corresponds to your screenshot, I will take a look at how it could be refined to produce a single NURBS surface with ToNURBS. Here’s my example based on what you showed…


ToNURBS_sample.3dm (2.7 MB)

2 Likes

I look at it merely as another format or medium that can be tapped into regardless of final result. There’s only certain things you can do with any particular format.

RE technically goes deeper than that, but I see it really as ‘digitization of components in the backwards rather than forwards direction’.

This can of course include a reverberation between both directions, imo, during the product development process. So, I guess the direction is irrelevant and some might say it’s about assimilating technology that isn’t understood until it is.

For example, the development process might include non-organic design with organic design superimposed over the top of an in-process design, then later digitized back into the computer to then be re-machined with new organic features.

All the while, those newly digitized features can be evolved entirely in the computer from there, or reiterated via a back and forth reverberation of reverse engineering and forwards engineering – until success and finalization is achieved. It all depends on intent and volition.

Some ppl refer to it as ‘back engineering’, omg but that’s jus super annoying :sob:

It’s like ‘tell me yer a newb w/ out telling me yer a newb’ :joy:

Hence yes, whatever works :beers:

Glad I stumbled on this again :smile: I literally used this to program one o’ my employees brains the other day, but I think I butchered it. :joy:

@maje90 gets props for one o’ the coolest most subtle things I ever heard :smiley:

Usually I say ‘practice makes perfect’ or something, and I think I said to my employee ‘practice is the best teacher’ but I was kinda way off :sob:

Training employees is so expensive, sometimes I wish they’d just do what I tell them and figure it out along the way! ‘Practice teach better than anything!’ :smiley: :exploding_head:

need @maje90 make that into a T-shirt :money_mouth_face:

I mostly see different formats such as ‘mesh’, ‘nurbs’, ‘sub-d’, merely as different states of the same underlying intent, while simply providing different capabilities with the same underlying intent.

Now, the underlying intent might be better suited for a particular format in the end, but it doesn’t mean that it can’t take certain advantages from a different particular format at some point inbetween.

Hence, it might be beneficial to have separate layers that includes a composition from each format that can be referenced at any particular time of use throughout developments.

Of course things can evolve and no longer corelate, however each format is technically derivable at any particular time if/when necessary.

It all depends on intent.

For example, if you want to split a mesh, you might draw onto the mesh with a polyline, to then later convert that polyline into a degree 3 “polycurve” spline thingamajig, then turn that into a nurbs surface, then use that to split your mesh, etc.

It’s not that it’s the only way to do it, it’s just the way I think is the least problematic and it provides some pretty good control over the “tool” used to “cut” for said procedure.

I look at it, NOT as a fixed / constrained timeline sequence. I see it as quantum physical determinism. In otherwords, you can go back and forth or “shuffle” (what it sounds like your implying is a fixed arrow of time) of deterministic events of derivations of particular formats. While ‘determinism’ is usually understood as an arrow of time, technically it can still branch off and be ‘looped’, etc.

There’s no fixed arrow of time in Rhino – per say.

Not that I can think of other than google, youtube, and this forum :smiley:

These are all really cool demonstrations of particular compositions. :star_struck:

I will add these to my memory hopefully so I can create much better sub-d’s :slightly_smiling_face: :upside_down_face:

2 Likes