Difference in geometry between sub D and Nurbs

I guys, I see some difference in geometry while converting a Sub D geometry to a Nurbs. Is there any setting I should take care to avoid that?

Thanks in advance.


Hello - ideally avoid ‘star’ points in the subD - these are difficult to convert to Nurbs, Can you show the patch arrangement there on the SubD?


Yep, those are the evil things, when it comes to converting to Nurbs - to be avoided where possible

Four edges, and not more, coming together is the better solution. There is some good info here:
I think he uses the term ‘poles’ for these.


I suppose it is preferable to stay away from patches with more than 4 boundaries in the sub-D?

LOL!! We replied at the same time! Thanks Pascal. I am a newbie with sub-d… :wink:

As am I… @theoutside & @BrianJ are the subdeists to consult, here.


1 Like



When using ToNURBS, there’s a SubDOptions > ExtraordinaryVertex option in the command line. The default currently is G1x which is a little better continuity at these locations than G1/Tangency. You can set it to G2 which is Curvature continuity at extraordinary points (a.k.a. poles, star points, evil things) but it can also lead to bumps in the surface transitions between patches. G1 or G1x is best in my opinion currently. We do however have some open items to try and improve the results at extraordinary points where more than four edges meet.

Your manufacturing method for the model may also make these small discontinuities irrelevant. Of course perfection is the goal but just something to keep in mind. Otherwise, creating SubD that flow nicely with quads in all the high reflection, high tolerance areas of your model is best if you know you’ll go to NURBS and need G2 between all packed patches.

There are several issues with continuity reduction at extraordinary vertices in the current subd → ToNurbs → polysurface workflow.

These will be address in Rhino 7. RH-62085

The most important of these issues are issues are at a smooth SubD vertex with 5 or more faces/edges. It is true that the ToNurbs creates n polysurface faces with a central n-valent vertex from a SubD n-gon when (n = 3,5,6,7,…) but the continuity issues at that particular polysurface vertex are not as bad as the ones where a smooth SubD vertex has 5 or more faces/edges.


I reported here too
But unfortunately it has not been made public

Fact is:
Faces with a central n-valent vertex = 3 reach max. G1
Faces with a central n-valent vertex = from 5 reach max. G0
And the question here is, if i turn _SolidPtOn and move Pt, why why is the surface continuity lost ?


happy weekend

@eddi Moving subobjects of solids (Breps) is different. This feature is more aimed at moving parts of solids made of mostly planar faces. It keeps G0 continuity between surfaces, but not beyond (G1 and up). It does not use the initial shape of faces as a point of reference (only their structure and relationship to other components of the Brep), so even a small change can dramatically change the surface shape.

In your case you could explode the solid and move the shared CV, which will keep the surface closer to the initial shape, but will also lose G1 continuity at that vertex.

1 Like

Ok, understood, thank you