Sometimes a model can become damaged. These damaged areas can cause problems.
It is possible to build bad models using Rhino tools. For instance, Rhino will let you create a planar surface from a self-intersecting curve, but the result will be a poorly defined object that will cause problems later.
Another potential problem is a tiny trimming edge joining to a larger trim curve on an adjacent surface. If Rhino matches the large edges, sometimes the tiny trim curve edge compresses even further so that it is really just a point. That compressed edge no longer has meaningful orientation and causes problems.
There are modeling techniques you can use to increase the overall 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 interferes with other objects joining together and tends to cause problems.
Sometimes the microscopic edges can be generated through other means, such as Boolean operations, where the objects are just off from each other by just 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. You can just use the list to indicate that you might need to tune up the model. If a model passes Check, it doesn't automatically mean that it is 100 percent 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, and Check does not check for those things. But it can check the general overall structure of the object.
The work-around is to Explode, Untrim, Trim again, and Join. If there are lots of tiny edges, then you may have 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 adjacent 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.
In general, 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.
Tools for analysis include …
List data structure of an object
Select all objects that do not pass Check
Detects and reports errors in the selected object's data structure.
Steps:
Select objects.
A report on the correctness of the object will display.
This is primarily a tool for diagnosing potential geometry errors.
Delete or remodel objects that have errors.
Analyze > Check Objects Geometry Fix > Check Objects Diagnostics > Check Objects Analyze > Diagnostics > Check |
Detects and reports errors in objects as they are created or imported.
Steps:
In the Check New Objects dialog box, click Yes.
This command finds bugs that create invalid geometry in the model. This feature makes it possible to find and fix the cause of bad geometry entering the model. If you are comfortable helping us debug Rhino, please enable this feature.
Every time an object is created or imported from a file, Rhino runs the Check command. If Check determines that the object is bad, Rhino displays a dialog box informing you of the problem. This message will appear once for each bad object that is created.
Check is a time-consuming process. It can make importing files and working with complex solids somewhat slower. If you find that it slows Rhino down too much, you can disable it by typing CheckNewObjects at the command prompt.
If Rhino creates a bad object while modeling:
If you are working normally and the Check New Objects dialog box appears, then you have found a bug in Rhino. We would greatly appreciate it if you would report this bug. Here's how:
Click OK to close the dialog box.
Undo once.
This puts you in the state just before the bad object was created.
Select all of the objects you used in the previous modeling operation.
Use the Export command to create a new model with only the selected objects.
Save the file as "CheckNewObjects Bug.3dm"
Email the file "CheckNewObjects Bug.3dm" to tech@mcneel.com.
Be sure to tell us what command you were using, as well as any options that were enabled when you used it.
If Rhino creates a bad object while opening a Rhino 3DM file:
Please do not report this problem.
If you are opening or importing a Rhino .3dm file, it is possible that there will be bad objects in that file. These objects were probably created by a command in a previous session of Rhino.
We are fairly confident that the import and export code for Rhino 3DM files is reliable and does not create bad geometry.
If Rhino creates a bad object while opening any file not 3DM:
If you are reading an IGES, STEP, or other file that is not a Rhino .3dm file, and Rhino creates a bad object, please do report this problem:
Please email the file you are importing to tech@mcneel.com. Be sure to explain that Rhino created bad objects while reading the file.
Analyze > Check all new Objects (Right click) Diagnostics > Check all new Objects (Right click) None |
Separates surfaces with errors from a polysurface.
Steps:
When you find a polysurface that does not pass the Check command, use the ExtractBadSrf command to extract the bad surfaces from the original polysurface.
Then you can fix the bad surfaces and then use the Join command to reattach them to the good part of the polysurface.
None None |
Reverses inconsistently oriented NURBS surface normals.
Steps:
Select surfaces or polysurfaces and press Enter.
The normals are recalculated to match over the whole surface or polysurface.
A natural surface normal is defined as the cross product of the u- and v-direction vectors. In Rhino, there is an additional flag attached to every surface called that tells if the surface normal matches the natural normal or is reversed.
The RemoveFlippedNormals command adjusts the surface u- and v-directions to match the current normal direction so the flag can be cleared. It does not fix geometry problems.
Note: Use the Dir command to see the normals graphically.
None None |
Removes multiple but not fully-multiple knots from surfaces.
Note: Multiple knots means more than one knot at a location. Fully-multiple knots means as many as possible at a location, which is equal to the degree. There may be a kink at that point that is desired.
Surfaces created with the Sweep2, BlendSrf, and OffSetSrf commands can be built with multiple knots. The RemoveMultiKnotSrf command removes these stacked knots if they are not fully multiple.
Removing the multiple knots can cause some loss in the surface precision, but in practice, this is usually not a problem. The advantage to removing these knots is that the surface point count is greatly reduced.
The Simple Sweep option in the Sweep2 dialog box makes surfaces that do not have multiple knots, but this option is only available in restricted cases where all the curves are perfectly matched and correctly placed. The usual behavior of the Sweep2 command allows accurate sweeps to be made from diverse input.
Surface Tools > Remove MultiKnots from Surface None |
Divides a surface into separate parts at kinks.
Creased ( kinked) surfaces are divided into smooth pieces joined in a polysurface. Creased surfaces within a polysurface are divided and joined within that polysurface.
Surface Tools > Divide Along Creases (Right click) Surface > Surface Edit Tools > Divide Surface on Creases |
Analyzes and reports the geometric continuity between two curves.
Steps:
Select the first curve near the end that coincides with the end of another curve.
Select the second curve near the coinciding end.
Tangency and curvature continuity information display on the command line.
Analyze > Geometric Continuity of 2 Curves Analyze > Curve > Geometric Continuity |