MeshToNURB - when useful?

I’m interested in examples of when MeshToNURB is useful. A naive user might assume that it creates a smooth surface (or minimum number of surfaces) from a Mesh. However my experience is it creates a faceted polysurface with a degree 1 NURBS surface for each mesh polygon/face which I have not found anymore useful than a mesh.

For jewelry it is great for bringing in gemstones

on low poly models you can always merge the surfaces together and rebuild with a higher degree. sometimes helpful i would say. it needs a certain chronology to succeed of course.


That does not work for most meshes. A set of individual surfaces can only be merged into a single surface if the is individual surfaces are arranged in rows and columns so that the edges of the individual surfaces will correspond to isocurves in the merged surface. Using MeshToNURB on most meshes does not result in a set of surfaces which can be merged into a single surface.

Perhaps I should ask my question in a different way. What sort of modeling is the faceted polysurface from MeshToNURB which typically has many facets useful for?

The Rhino Wiki entry Mitch provided the link to suggests unrolling meshes. Using the Hydrostatics command would be another example. The “mass properties” analysis tools such as Area, Volume, AreaCentroid, etc work on appropriate meshes so there is need to convert to polysurfaces before using those tools.

Other examples?

I find it very useful for graphics and diagrams, by converting an object to a mesh and reducing the mesh faces before converting it back to a NURBS you can generate funky vectors that have a low-polygon appearance. It’s a nice way of getting the message across without being too literal.

  • Sash

not always straight forward, but with a little handwork inolved you can get there, with EdgeSrf for instance. makes no sense on higher resolution models of course unless you have a script.

An example would be help me understand how it would work.

EdgeSrf requires 2, 3 or 4 edges, and does not use any information from the interior… Fundamentally different than merging individual surfaces together.

DupFaceBorder, exploding, EdgeSrf leads to merge-able surfaces. unfortunately one at a time. but a script could do that since every dupfaceborder has a separate id.

Exploding the polysurface from MeshToNURB into separate degree 1 single span surfaces, DupFaceBorder of each individual surface into a polylinea, exploding the polylinea into sets of four edge lines, and then, EdgeSrf the edge lines results in degree 1 surfaces which are the the same as the degree 1 surfaces which MeshToNURB produced to begin with. Nothing is gained by going through that proceedure.

The set of surfaces, whether directly from exploding the MeshToNURB polysurface or from going through the proceedure described above, can only be merged into a single surface if they are arranged in rows and columns.

Short answer: not much… --Mitch

nope exploding the polysurfaces is not really needed. And the surface EdgeSrf creates is not a trimmed surface compared to what MeshtoNURB produces thats the significant difference.

again if you have a higher resolution and need many spiky details which could get lost with reduce mesh then this may be obsolete but in case you need a topography and dont want to completely remodel it this can help. the order of the polygons is not very relevant then. its not a general recipe of course and depending on the situation there sure are also different methods.

i mean i am not pleading for MeshToNURB how helpful it is in fact its kinda complicated and misguiding i agree. but there are plenty of situations where you model outside of rhino and want to get things done further in rhino in architectural matters for example. a meshtonurb makes it easier to work it, compared to proceeding with mesh which iS very limited in rhino, having many facets or not.

It depends also on what type of mesh you have and you want to use this command to convert the mesh into NURBS. If it is quadrangular mesh generated in modelling software with low number of polygons, this approach is correct, but if you have mesh coming from a scan for example where you have noise, irregular triangles etc, than this is in the area of Reverse Engineering. In this case you will need much more complex approach and knowledge how to solve this. One good option is to use Mesh2Surface plug-in where you have many tools to convert triangles into a primitives and free form surfaces. Look at for videos, examples and tutorials.