Latest news
Tips & GuidesRhinoMari

Finding and Repairing Bad Geometry in Rhino 8: A Guide for Architectural Models

Rhino 8’s official documentation explains how to find bad objects with Check and SelBadObjects, and inspect problematic edges and meshes with dedicated tools. This guide adapts those checks to architectural modeling workflows.

A bright design studio where surface edges are being inspected in an architectural modelAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. Check reports errors in the selected object’s data structure, but a clean result does not guarantee that the model is flawless.
  2. SelBadObjects selects objects that fail the Check inspection; the documentation recommends deleting or rebuilding them.
  3. CheckNewObjects reports malformed objects created during modeling or file import.
  4. For STL/SLA production, you can check open edges, duplicate faces and degenerate mesh faces with separate tools.

Rhino 8’s official help documentation describes diagnostic tools for finding bad geometry in models and addressing some mesh issues. This guide brings together checks you can use in architectural and interior models when surfaces fail to join, tiny edges appear after Boolean operations, or a model is converted to a mesh for production. The commands and menu paths described here are based on the Rhino 8 documentation; these sources do not explain how the interface or tools behave in other versions.

1. Check the object structure first

  1. Select the object or objects you want to inspect. Then run this command:

Prompt
Check

Rhino displays a report on the validity of the selected object’s data structure. This is a useful starting point for diagnosing potential geometry errors. It can help identify issues in imported objects or objects that have undergone different modeling operations.

  1. Even if the Check result looks clean, do not assume the model is completely flawless. Rhino’s documentation says the command checks the object’s overall structure, but some defects—such as surfaces that fold back on themselves or intersect themselves—can be difficult to detect automatically. A clean Check report therefore does not mean the model is 100% correctly constructed.

  2. To select all objects in the model that fail the check, use this command:

Prompt
SelBadObjects

This command selects objects that do not pass the Check inspection. The documentation recommends deleting or rebuilding these objects. Before deleting a critical architectural element, consider how it was created in the project and what geometry will replace it; the decision depends on the design requirements of the model.

2. Catch the source if a problem has just appeared

  1. To check whether new bad objects appear during modeling or file import, run this command:

Prompt
CheckNewObjects

According to Rhino’s documentation, this tool reports data structure errors as objects are created or imported. If a problem occurs while a Rhino file is being read, or an import plug-in adds a bad object, a warning may appear in the command history. If a Rhino command creates a bad object, a notification may appear in the command window and a dialog may open.

  1. If such a dialog appears during modeling, note the name of the running command and the options that were active at the time. The documentation treats this as a possible indication of an error in Rhino.

  2. Then undo the operation, select the objects used by the command, and export them to a new file. Send that file to McNeel technical support along with the command and options you noted. If a bad object appears in an imported non-Rhino file, the documentation also recommends sending the import file to technical support. Before sending a project file, separately consider your office’s data-sharing and privacy rules.

3. Inspect small edges and joins

Rhino’s documentation identifies tiny trim edges and edges that loop back on themselves as important sources of model problems. When adjacent surfaces have a microscopic edge next to a long one, joining the objects can become difficult. Parts that sit very close together during Boolean operations can also produce similar small edges.

  1. If Check reveals a problem, inspect where the small edges occur. The possible workflow described in the documentation is to explode the object, remove the trim, retrim it, and join it again. This is not a guaranteed one-step fix for every bad model; difficult models may require several analysis and repair tools.

  2. If the edge structures are incompatible, the documentation mentions SplitEdge and JoinEdge for splitting edges and manually matching suitable pairs. In some cases, Join may struggle when long and very small segments are next to each other; JoinEdge can help with manual matching. The source gives their menu location as Edge Tools in the Analyze menu.

  3. Avoid creating unnecessary small edges to reduce the chance of problems. Rather than inserting a very short line between two curve segments to join them, bringing their endpoints together is one of the modeling practices recommended in the documentation. Keep the edges of adjacent parts as clean and simple as possible as well.

4. Check the mesh before production

For STL/SLA printers, meshes with long, thin surfaces can slow printing, produce unexpected results, or strain the printer’s memory. Rhino’s documentation says the MeshRepair command can be useful in these cases. Depending on the issue, apply the following checks:

  • Use ShowEdges to find open mesh edges. If you need to close open edges, consider FillMeshHole, FillMeshHoles or MatchMeshEdge.

  • Clean up degenerate faces and zero-length edges with CullDegenerateMeshFaces. The documentation says zero-length edges are usually caused by degenerate faces.

  • For non-manifold edges, first run CullDegenerateMeshFaces, then ExtractNonManifoldMeshEdges.

  • Extract duplicate faces with ExtractDuplicateMeshFaces; use UnifyMeshNormals for faces that need their orientation corrected.

  • Split disconnected mesh pieces with SplitDisjointMesh. Unused vertices generally do not cause problems, and the documentation says there is no command to remove them.

Common mistakes

  • Treating a clean Check result as proof that the model is flawless in every respect. The tool checks the general structure and may not catch some self-intersecting or folded surface defects.

  • Trying to repair a bad object without understanding which operation created it. When a new error appears, noting the command name and active options makes it easier to trace the problem.

  • Assuming a single command can fix every mesh issue. Open edges, duplicate faces and degenerate faces require different checks and tools.

In architecture, interior design and visualization workflows, these checks are especially useful when joining complex surfaces and converting models to meshes for production. Rhino 8’s documentation does not provide hardware requirements or performance measurements, so it does not support recommending any particular computer component. The information here also applies to Rhino 8; it should not be generalized directly to other software or versions.

Sources

2 sources
D
docs.mcneel.comdocs.mcneel.com/rhino/8/help/en-us/commands/check.htm
Summary
D
docs.mcneel.comdocs.mcneel.com/rhino/8/help/en-us/commands/selbadobjects.htm
Summary

Source texts are not republished; short quotes are marked, everything else is our own summary and commentary.

3dsınıfı’s take
3dEditor’s assessment

For architecture offices and visualization teams, the most practical approach is not to leave geometry checks until delivery: checking early with Check after complex joining and import steps can help narrow down the source of a problem. Open and degenerate edges in meshes intended for production should be inspected separately.

The documentation does not specify particular hardware, time savings or licensing costs, so it does not provide a basis for an upgrade decision. Menu and command behavior in versions other than Rhino 8 should be verified separately. The most common pitfall is treating a clean Check report as an absolute guarantee and overlooking small edges during modeling.

Frequently asked questions

How do you select bad objects in Rhino 8?

The SelBadObjects command selects objects that fail the Check inspection. The official documentation recommends deleting or rebuilding them.

Does the Check command fully validate a model in Rhino 8?

No. Check inspects the overall object structure; it may not automatically detect some surfaces that fold back on themselves or intersect themselves.

How do you find Rhino mesh errors for STL/SLA?

Inspect open edges with ShowEdges. Use CullDegenerateMeshFaces for degenerate faces and zero-length edges, and ExtractDuplicateMeshFaces for duplicate faces.

Comments and the forum are in Turkish.Join the discussion
+

Related news