In brief
- ToNURBS can convert mesh and SubD objects into NURBS surfaces.
- To create curves from mesh or SubD edges, click the edges while holding Ctrl+Shift.
- When converting a mesh, you can choose whether triangular faces become trimmed or untrimmed NURBS surfaces.
- What reports object properties, while List reports technical details about the data structure.
What will you learn in this guide?
If you need to convert a model created as a mesh or SubD into NURBS surfaces, you can use the ToNURBS command in Rhino 8. The command also lets you create NURBS curves from the edges of compatible objects. This guide explains which geometry types can be converted, how conversion options affect the result, and how to get information about the resulting object.
Conversion involves more than simply running a command. Choices such as whether to delete the input object, how to handle mesh triangles, and whether to join SubD faces can affect your workflow. It’s therefore helpful to first confirm the geometry type and expected output, then inspect the result.
Requirements
This guide is based on McNeel’s Rhino 8 command documentation. It covers the ToNURBS, What, and List commands. The sources do not specify account requirements, a particular license type, hardware requirements, or the commands’ availability in different Rhino versions; the steps below are therefore limited to the Rhino 8 documentation.
A mesh or SubD object is sufficient for surface conversion. To create curves, you need to select the edges of a mesh or SubD object. ToNURBS can also convert simple objects to NURBS for programs that can read NURBS. The example in the documentation is an Extrusion object defined by a profile curve and a length.
Step by step: Convert with ToNURBS
Select the input object. To create NURBS surfaces, select the mesh or SubD object you want to convert. Surface conversion with the command is described for these two object types. Keep in mind that the output may be created in the same location as the existing geometry, and that the Delete option changes the result.
Switch to edge selection if you want to convert edges to curves. Click mesh or SubD edges while holding Ctrl+Shift. Double-click an edge to select an edge loop. This selection method differs from surface conversion: the goal is not to convert the entire object into NURBS surfaces, but to create NURBS curves from the selected edges.
Apply the ToNURBS conversion and decide whether to keep the input. When DeleteInputObjects is set to Yes, the NURBS object replaces the original non-NURBS object. When set to No, the new NURBS object is added to the current layer, and the old and new objects remain in the same location. If you need to preserve the source geometry for comparison or later inspection, choose the option accordingly.
Check the triangular face option for mesh input. MeshOptions contains settings used only when converting a mesh to NURBS. When TrimTriangularFaces is set to Yes, mesh triangles are replaced by trimmed NURBS surfaces. With No, the triangles become untrimmed NURBS surfaces. The documentation presents both options, but which is more suitable for a particular model depends on its geometry.
Review face packing and continuity settings for SubD input. The Faces setting determines whether quad face grids are joined when converting a SubD. The Packed option joins a quad face grid into a larger NURBS surface; Unpacked creates a separate NURBS surface for each quad SubD face. ShowFacePacks displays SubD faces in different colors according to how rectangular quad grids are divided. ForceUpdateFacePacks can be used to reset the grids after creases are added or faces are deleted; according to the documentation, it is equivalent to the PackSubDFaces command.
The ExtraordinaryVertex option controls continuity at extraordinary vertices when creating a polysurface from a SubD. G0 aims to stay as close as possible to the SubD; G1 and G1x allow greater deviation. G1x attempts to keep edge normal deviation at 1 degree or less. G1xx uses double knots in isocurves near edges and adds more control points to improve Zebra stripe smoothness. G2 provides G2 continuity at extraordinary vertices; however, the documentation notes that this choice may create bumps or depressions in these areas.
Check the result using object information. The What command reports object and layer properties in a separate window. The report may include the object type, Object ID, layer name, assigned render material name, and information about the source and geometry. The List command provides detailed technical information about the internal data structure of selected objects and, according to the documentation, is generally used for debugging.
Common mistakes
It’s not appropriate to assess a mesh using SubD conversion options, or a SubD using settings specific to meshes: MeshOptions applies only to mesh input, while SubDOptions applies only to SubD input. Check the selected object type before converting. You may also inadvertently replace the old object or leave both objects in the same location if you don’t check the DeleteInputObjects setting. Plan for the effect of Yes and No before applying the command to your model.
Packed and Unpacked do not produce the same output when converting a SubD. The former joins quad grids into larger surfaces, while the latter creates a separate surface for each quad face. Likewise, a single continuity setting won’t produce the same result at extraordinary vertices for every model. In particular, check for bumps or depressions that may result from choosing G2. When applying the continuity behavior described in the source documentation, consider both form and continuity requirements.
Don’t treat What and List as interchangeable, either. What displays object and layer properties, as well as geometry information, while List produces a technical report on the internal data structure. What is a good starting point for identifying object properties; List is more suitable for examining technical structure or debugging.
Impact on architecture and visualization workflows
In architecture and interior design projects, ToNURBS offers a way to move mesh or SubD geometry into a NURBS-based workflow. Converting edges to curves can also be useful in modeling tasks that require selected lines to be used as separate geometry. However, the source does not state that conversion will produce the same number of surfaces, performance, or flawless compatibility with other software for every model. The output should be tested separately in the target software and against project requirements.
For offices, it’s particularly important to choose options such as face packing, surface continuity, and whether to preserve the old object based on project needs. Keeping the new NURBS object in the same location as the source geometry makes comparison possible; however, because both objects remain in the scene, you’ll need to keep track of which geometry you’re working with. The command documentation provides no hardware, cost, or license information; the Rhino installation in use and the organization’s workflow should be assessed separately before making decisions on those topics.
Next steps
First, try the conversion options separately on a small or representative mesh or SubD. Compare the TrimTriangularFaces setting for meshes and the Packed and Unpacked options for SubD; then review continuity settings where needed. Preserving the source object can make it easier to compare the geometry before and after conversion side by side. Finally, check object properties with What and, when needed, the technical data structure with List.
Sources and licensing
This guide was adapted into Turkish based on McNeel’s Rhino 8 documentation for ToNURBS and What. The sources are identified as freely licensed in the information provided. Explanations of the List command are taken from the relevant section of the What documentation.
Sources
2 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
ToNURBS can be a useful bridge for offices and students who want to move geometry created in different formats into a NURBS-based stage. In particular, edge curve extraction and the options for packing SubD faces can help you manage the structure of the output more deliberately.
However, the result depends on the geometry and the selected settings; the source makes no guarantees about performance or compatibility with other software. For teams in Turkey, the best approach is to test the surface structure and continuity on a representative model before using the tool on a live project. The sources do not specify pricing, licensing terms, or hardware requirements, so these should be verified separately.
Frequently asked questions
Which objects does ToNURBS convert in Rhino 8?
ToNURBS converts mesh and SubD objects into NURBS surfaces. It can also create NURBS curves from mesh or SubD edges.
Can you keep the original object when converting with ToNURBS?
Yes. When DeleteInputObjects is set to No, the new NURBS object is added to the current layer and the original object remains in the same location.
What is the difference between the What and List commands in Rhino?
What reports the properties of an object and its layer. List provides detailed technical information about the internal data structure of selected objects and is generally used for debugging.



