Site Tools

Diagnosing Bad Geometry

This information is buried in deep Rhino F1 help. Here it is brought up to the light.

Sometimes a model can become damaged and the damaged areas can cause problems.

It is possible to build bad models using Rhino tools. For instance, if you trim a surface with a self-intersecting curve, Rhino will let you do it, but the result will be a poorly defined model that causes problems later.

Another problem is having a tiny, trimming edge that then gets joined to a larger trim curve on an adjacent surface. If Rhino matches the large edges, sometimes the tiny trim curve edge can get compressed even further so that it is really just a point. That compressed edge no longer has a meaningful orientation and causes problems.

There are modeling techniques you can use to increase the robustness of your models.

Drawing tiny little lines to connect pieces of a trim curve instead of moving the two endpoints of the curves together generally messes up joining other edges together and tends to cause problems.

Sometimes the microscopic edges can be generated through other means, like Booleans where the objects are just off from each other by a little bit.

Trimming edges that are very small or curved back on themselves are the biggest cause of problems in models.

There are Rhino tools you can use to examine your model for these defects.

The first one to try is the Check command. If your model doesn't pass Check, then it will list some specific problems. The list shows where you might tune up the model. If a model passes Check, it doesn't automatically mean that it is 100% properly structured, though. Some bad model parts, like having surfaces that fold back on themselves or self-intersect, are very time consuming and difficult to automatically detect. Check doesn't check for those things, but it can check the general overall structure of the object.

The workaround is to Explode, Untrim, Trim again, and Join. If there are lots of tiny edges, then you may need to use the SplitEdge command to split all edges so they have a compatible structure, and then use JoinEdge to manually mate the proper pairs.

When there are long things and tiny things next to each other, the Join command can get confused. When that happens, the low level manual JoinEdge can work as a replacement.

These tools are on the Analyze menu under Edge Tools. You may need to use several of these tools to fix difficult broken models as well.

Avoiding modeling errors

  • In general, try to avoid creating tiny edges in models.
  • Do not use curves where there is a tiny line in the middle of the curve that joins two pieces together.
  • Try to make sure that adjacent parts mate cleanly with a good, simple edge-to-edge matching.

You can …

  • List data structure of an object
  • Check objects
  • Select bad objects
rhino/diagnostics.txt · Last modified: 2020/08/14 (external edit)