Modeling with nurbs: Troubleshooting
- 1 Introduction
- 2 Attach curves
- 3 Loft
- 4 Extrude (Tube)
- 5 Trim
- 6 Planar
- 7 Intersect Surfaces
- 8 Circular Fillet
- 9 Bent surfaces
- 10 Surface display
Several problems can occur when modeling with NURBS. This document describes common issues and the solutions
There can be a few issues when attaching curves.
When attaching curves, Maya will connect the end point of one curve to the start point of the other. Sometimes there is a problem with the direction of the curve (which end is the starting point).
Solution: Select one of the curves. Edit Curves > Reverse Curve Direction
Transformation of attached curves
When transforming (e.g: moving) an attached curve, only a part of the object will be directly affected. This is due to the history of the Attach Curve operation.
Solution: Remove the history from the object. Edit > Delete by type > History.
Several problems can occur with lofts.
When your loft is 'flipped' like in the image above, there's probably a problem with the direction of one of the curves (or isoparms) of you loft. A loft connects the start of the first line with the start of the second line and so on to create the surface. If one of the curves is reversed, a problem may occur. Maya tries to auto reverse any curve or surface however, so in many cases you won't notice one of the curves was actually reversed.
Solution: Reverse on of the curves. Edit Curves > Reverse Curve Direction. Or reverse one of the surfaces, when lofting between isoparms. Edit NURBS > Reverse Surface Direction. In some occasions this won't solve the problem. Try rotating the curve (flip it upside down).
When your loft is 'twisted' like in the image above, one of your objects or curves is probably rotated.
Solution: rotate one of both objects around the proper axis to untwist your loft.
Problems that can occur when using extrudes could be:
When your Tube extrude yields unexpected results, make sure you select the objects in the correct order.
Solution: Select the profile curve first and (shift-)select the path curve secondly.
When the resulting surface isn't positioned on your path, but seems to be offset, the pivot point of your profile is probably somewhere outside your profile curve.
Solution: position the pivot of your profile on the desired location. You could use Modify > Center pivot.
Trim is a delicate operation that is prone to several errors.
When trimming very small objects, problems may arise with the internal tolerance.
Solution: Optimize the scale of your scene. Avoid trimming objects that are smaller than 1 unit.
No closed region
When a Curve on Surface doesn't create a closed region on your surface, the trim tool will not work.
Solution: Make sure the Curve on Surface (one ore more) create a closed region. So the curve must be closed, eg when creating holes, or it must go from edge to edge.
There are two main cases to distinguish:
- The geometry doesn't appear, no error message
- The geometry doesn't appear, with error message (displayed in red at the bottom of the window)
If there is no error message, the most likely cause is a problem with your tolerance.
When you've just created the planar, it should still be selected. Good. If not, use the Outliner to select it. Open the Attribute Editor. Locate the planarTrimSurface[number] tab and open it. Check the value for tolerance. It should be between 0.0001 and 1.0, depending on the scene scale and units.
If this value is too low or high, this is most likely caused by incorrect positional tolerance settings in your preferences. Go to Window > Settings/Preferences > Preferences. Open the Settings section and make sure the Positional Tolerance is set between 0.001 and 0.01
If an error message does appear, use the guidelines below to troubleshoot:
Creating planar surfaces may fail for various reasons. Note that the geometry node for the surface is still created despite of any errors that prevent the surface from showing. When you get a failed to compute error, undo the last action or fix the problem immediately. In this last case you don't need to select the planar command again; the surface should appear automatically once the problem is fixed.
Curve(s) not closed
If the curve or curves aren't exactly closed, you won't be able to create a planar surface. There can't be any 'leaks'. To check if a single curve is closed (or periodical), you can check the Attribute editor:
Solution: close the curve. Either manually (using point or curve snap), or using Edit curves > Open/Close curve.
Curves are not planar
If the curve(s) for you planar aren't absolutely flat (planar), you won't be able to create the surface.
Solution: If the curve isn't flat, you may be able to make it flat by scaling it to 0 in the desired direction. Or you could align all vertices using point snap to make the curve flat.
The same problem with precision or tolerance as with Trim may arise with Intersect Surfaces.
Solution: You can increase the tolerance in the Options of the Intersect Surfaces Tool. A smaller number will result in a higher precision and may be required when intersecting small surfaces. Another solution is to increase the overall scale of your objects.
Circular fillets can be very tricky. Your geometry needs to be very 'clean'. On some geometry, a fillet may just not work. Alternatively you could use a Freeform Fillet between two isoparms on both surfaces.
Some problems can be solved relatively easily however:
A problem with precision or tolerance may also arise with Circular Fillet.
Solution: You can increase the tolerance in the Options of the Circular Fillet Tool. A smaller number will result in a higher precision and may be required when intersecting small surfaces. Another solution is to increase the overall scale of your objects.
The fillet is created on the wrong side of the surface(s). It might not even show up because it cannot be created on that side (radius is too big).
Solution: This problem is caused by the direction of the surface normal of both surfaces. The fillet will be created on the 'positive' side of both surfaces. You can fix this in several ways:
- When creating a fillet, use the Reverse surface normal setting in the Circular Fillet Optionbox;
- On an existing fillet, you can change one of the radii (or both) into a negative value in the INPUTS of the fillet (rbfSrf) that are shown channelbox (history).
- Change the surface normal of one of the surfaces manually through Edit NURBS > reverse Surface Direction.
Some geometries are not flat. And when wanting make a surface that is bent, or double curved, the planar command is not sufficient (because planar only works for flat surfaces). Therefore we need to use different commands.
Solution: Two tools that might solve the problem are the birail 2 tool or the boundary tool, whereas the difference between the two is that the birail uses rails to connect section curves (and thus is limited to 4 contour curves), while the boundary options can be used with atleast three curves or four curves. The boundary tool can be found under the Surfaces menu.
Another example of a boundary surface:
Sometimes the display quality options 1, 2 and 3 are not sufficient enough. A certain surface or curve may still be jagged or very segmented, which could leave you wondering if that surface or curve has a problem or not.
Solution: Click on the surface with the display issues. Go to WINDOW > ATTRIBUTE EDITOR (or crtl+a). Find the part that says NURBS surface display. There you can find the Crv precision shaded attribute, by dragging the slider to the right you increase the quality of the display for that one object you've selected. Keep this setting as low as possible, because it may seriously affect display performance.