In brief
- ShrinkWrap creates meshes around NURBS surfaces, SubD objects, meshes, point clouds, and point objects in Rhino 8.
- Target Edge Length is calculated automatically by default; increasing Polygon Optimization can reduce more faces.
- Check reports errors in the selected object’s data structure, but does not detect every type of geometric issue.
- Rhino documentation lists different diagnostic and repair commands for naked edges and faulty meshes.
Rhino 8’s ShrinkWrap command creates a mesh that encloses selected NURBS surfaces, SubD objects, meshes, point clouds, and point objects. McNeel’s official documentation describes uses such as preparing meshes for 3D printing, combining multiple objects, and converting 3D scan fragments into a mesh. The steps below focus on evaluating the command’s settings for your intended use and checking the resulting geometry.
1. Check the input geometry before using ShrinkWrap
Before running the command, inspect the selected object’s data structure with Check. The command reports errors it detects in the object and helps diagnose potential geometry issues. If the report identifies a problem, you may need to repair or remodel the object before assessing the ShrinkWrap result.
This check is particularly important for imported models and surface joins with small edges. Rhino documentation notes that very small trimming edges and edges that fold back on themselves can cause model issues. However, even if Check reports success, that does not guarantee every defect has been found: some cases, such as surfaces folding over or intersecting themselves, can be difficult to detect automatically.
CheckNewObjects is a separate command that reports data structure errors that occur when objects are created or imported. If Rhino displays this kind of warning during normal modeling, the documentation recommends noting the command in progress and any active options, undoing the operation, and exporting the relevant objects to a new file.
2. Choose ShrinkWrap settings for the intended use
After selecting the inputs, run the ShrinkWrap command. When setting values, don’t focus solely on producing fewer faces; also consider what the mesh will be used for, such as scan data, 3D printing, or shell operations.
| Setting | Suggested value | Effect |
|---|---|---|
| Target Edge Length | The default value is calculated automatically | Sets the approximate length of the edges in the output mesh. |
| Offset | As needed, in model units | A positive value expands the mesh outward and adds faces; a negative value shrinks the mesh and reduces the face count. |
| Smoothing iterations | 0 disables smoothing; higher values apply more smoothing | As the value increases, the face count is reduced further and the mesh is pulled further inward. |
| Polygon Optimization % | 0–100 | As the value increases, vertices are merged more adaptively; faces along sharp edges are preserved. |
| Inflate Vertices and Points | On by default for point and point cloud inputs; off for other types | Creates the output based on mesh or point cloud vertices/points. Intersecting inflated parts can merge. |
| Fill holes in input objects | Use when filling input holes is appropriate | Fills holes in the inputs before meshing; it may also close small openings in the design. |
This table is a reference for comparing the behaviors described in the documentation, not a fixed production recipe. For example, Target Edge Length can be calculated automatically; increasing Polygon Optimization can make output edge lengths deviate further from this target. So when reducing the face count, also consider changes to edge size.
For NURBS surface or SubD inputs, if Inflate Vertices and Points is enabled, the command uses vertices from those objects’ render meshes. Render mesh settings can be customized if more vertices are needed. The Compute vertex colors option transfers vertex colors from meshes and display colors from point clouds to the ShrinkWrap mesh. Use Delete input objects with care, since it can delete the input objects after successfully creating the output.
3. Inspect the preview, then validate the output
During the command session, inspect the result with Preview. Draw mesh wires displays the preview mesh’s wireframe, while Hide input objects hides the inputs during the preview. These options help you assess the resulting face density and how the mesh wraps around the input geometry.
After creating the output, inspect the object again with Check. If the mesh is intended for 3D printing, don’t rely solely on a general data structure check. According to Rhino documentation, long, thin faces can slow printing on some STL/SLA printers, cause unexpected results, or consume the printer’s memory.
Use ShowEdges to find naked edges. The documentation lists commands such as FillMeshHole, FillMeshHoles, MatchMeshEdge, CullDegenerateMeshFaces, and ExtractDuplicateMeshFaces for addressing these edges or repairing mesh defects. Which tool to use depends on the type of defect found.
Where it fits into architecture, interiors, and archviz workflows
ShrinkWrap can be considered when a mesh is needed to enclose geometry from different sources. The official documentation explicitly identifies converting 3D scan fragments into a mesh, creating a combined output from multiple objects, and meshing point clouds as use cases. This may be useful for architecture and interior design teams working with scan data, as well as users preparing models for physical production.
When a mesh is needed in an archviz workflow, it’s important to decide in advance what the intended output should be: fewer faces, a mesh that follows points, or geometry with holes filled? Higher Polygon Optimization can help reduce the face count, but may increase deviation from the target edge length. Fill holes in input objects can also close small openings intentionally left in a design, so don’t skip the preview or final check. The documentation also points to Rhino’s QuadRemesh command for manageable polygon meshes; it should not be treated as if it serves the same purpose or produces the same output as ShrinkWrap. The command and options in this guide are based on Rhino 8 documentation. The sources do not provide information about licensing terms or hardware requirements.
Common mistakes
Increasing
Polygon Optimizationwhile ignoring deviations from the target edge length.Forgetting that
Fill holes in input objectsmay also close small openings in the design.Assuming that a successful
Checkmeans there are no geometric issues in the model.Failing to inspect long, thin faces or naked edges before 3D printing.
Enabling
Delete input objectswithout considering that the input objects may be deleted once the output is successfully created.
Sources
2 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
For architecture and visualization offices in Turkey, ShrinkWrap’s practical value is that it can handle mesh creation from scan fragments and different geometry types within Rhino. Adding `Check` and mesh diagnostic commands to 3D printing preparation can also make output inspection more systematic.
Rather than increasing settings across the board, it’s safer to test according to the target mesh: reducing faces can increase deviation from the edge length, while filling holes can close openings that need to be preserved. The documentation does not explain licensing or hardware requirements; offices should validate the results using a small sample model in their existing installations.
Frequently asked questions
What types of geometry does Rhino 8 ShrinkWrap work with?
It accepts NURBS surfaces, SubD objects, meshes, point clouds, and point objects as inputs.
How can you reduce the number of mesh faces with ShrinkWrap?
As `Polygon Optimization` increases, more vertices are merged adaptively. Increasing `Smoothing iterations` also reduces the face count and pulls the mesh further inward.
How can you check for mesh or geometry errors in Rhino?
Use `Check` to inspect the selected object’s data structure. To investigate mesh issues, use `ShowEdges` and other diagnostic commands listed in the documentation.



