Differences between Blender's subdiv and Rhino

I’m just curious about this because I see no reason to actually model subdivs in Rhino when Blender’s tools are so much more mature (similarly as I see no reason to fillet anything in Rhino since there’s other way faster and more mature tools out there for this).

But that means round tripping needs to be seamless and I just noticed a discrepency which I don’t think has to do with creased edges because (unless I missed something) that should match:

Anyone noticed other cases? Things you need to watch out for?

Also, I’ve uploaded this via the uploader in case anyone from McNeel wants to take a look.

EDIT: Also uploaded a crease where I’m not able to achieve the same result as in Blender… possibly because symmetry in Rhino doesn’t recognize creases the same way?

1 Like

I need to ask the developers if that is an actual difference or just a visual difference, idk. I’d prefer it to look like the result you show in Blender though.

regarding creases on a symmetry plane, I’ve added this thread
RH-63366 Crease: crease on the reflection plane

fwiw, SubdCrease (soft crease) is possible

1 Like

The issue with the difference in how the mesh is being subdivided is listed here:
RH-84815 Rhino Subdivide - is it correct?

1 Like

The neighbouring vertex is pulling… this is less obvious on a more evenly distributed subd

@dalelear verified the calculations and confirmed that the way we handle the subdivision is correct according to the method we implemented. More information can be found in the YT.
I did a quick comparison between the weaverbird implementation and SubD. To me it looks like the WB method is behaving the same as what you are finding in Blender. SubD seems to generate a smoother end result. Below is in parallel projection, the upper is WB, the lower is SubD:
subd_test.gh (6.4 KB)
subd_test.3dm (507.5 KB)


To get the WB result I used three WB components with level 3 subdivision, resulting in a 11 million polygon mesh:

Thank you for the information! Interesting explanation and hopefully then won’t appear anywhere else but this specific case (we’ve actually been supplied subdivision models before and used ToNurbs before CNC milling them and had acceptable results, but those were always watertight).

Just another note about why our method is different.
While Blender’s level 1 subdivision looks nicer, in Rhino we ultimately need to be able to convert a SubD to a NURBS surface. In that conversion, the method we are using, produces far more correct results.
Again, for more detailed information, see the YT.