When I try to teach a new feature that I would like to call a chamfered hole in NX, I get an error that states:
WARNING: Rule 'Recognition/ParametricFeatures/HOLES/CHAMFERED_SQUARE_HOLE':
taught feature has alternative directions
I also notice that the MCS that appears while trying to teach does not correspond with the MCS I am using for the machine.
Solution
The help does have a reference to this specific error condition. The following is from the NX10 help, as there were updates made to this page. It says:
===============================================================================
Feature teaching requirements and error conditions
The following requirements must be met for you to teach NX a custom feature:
You must have write permissions to the machining knowledge library.
The faces you select to define the feature must be connected.
The feature name must be unique.
The recognition rule name must be unique.
NX displays an error message if, for example, you attempt to give a new
feature a duplicate name.
The feature should also have a coordinate system to position and orient the
feature accurately.
Note
The coordinate system must be a Datum CSYS.
NX does not require a coordinate system to teach the feature.
Positioning warning conditions
NX ignores a CSYS that does not reference any of the feature geometry. Only
the first valid CSYS object is used. If additional valid CSYS objects exist,
the following message is displayed.
WARNING: CSYS name is skipped: parameter POSITION: already defined
If the feature you teach NX references a point, edge, or a face that does not
belong to the feature geometry, the following message is displayed.
WARNING: CSYS name is skipped: unrelated reference geometry
The Point on Face and At Angle to XC options are not supported. If the feature
you teach NX uses an unsupported point or vector type in one of its geometry
references, the following message is displayed.
WARNING: CSYS name is skipped: unsupported auxiliary geometry type
(reference description)
If the feature you teach NX is symmetric and would be recognized with
different positions and/or orientations, the following message is displayed.
WARNING: Rule name taught feature has alternative directions (#)
The Teach Features command will still teach NX the feature type and store the
recognition rule in the recognition library. However, NX will not have the
information that is required to position and orient the feature accurately.
Solution: Replace the CSYS with a CSYS that is supported for feature teaching.
Feature teaching fully supports all CSYS subtypes which reference a
combination of points, edges, and faces or datums of the feature geometry.
============================================================
The one we are concerned with here is, of course, the last entry.
In this case, the feature is a through hole, so the software could recognize it from either direction (either side of the part). Thus, it will always have alternative directions. We can make the feature respect the desired Z axis direction, so it will always be found with the correct 'top' side by default.
Create a true datum CSYS to use with this new feature you are teaching. Don't use just any CSYS - make it a real datum CSYS, as specified in the note at the top of this help page. It is important to make sure that all objects used to define the feature CSYS are connected to the feature edges and\or faces, and that when selecting you are using the selection sub dialogs with specific options to pick specific associative geometry on the feature: do not use options like 'dynamic' or 'inferred' to pick points, edges, or faces.
Notes and References
Hardware/Software Configuration
Platform: all
OS: n/a
OS Version: n/a
Product: NX
Application: CAM
Version: V10.0.3
Function: FEATURE_BASED
Ref: 001-7728007