NX Automations · Check-Mate test

Join Diameter Check

Download 1.0.4

Checks every Join fastener’s head-side and tail-side hardware against the fastener diameter, by hardware type, and flags each one that does not fit.

Verification passing on NX 2606.5001 · 2026-10-03 · repo b9f63ea

From FAS object to verdict: what the checker reads, where each diameter comes from, and what it reports. Click to zoom.

The rule, by hardware type

Applied to every head-side and tail-side part of every fastener. Two diameters within 0.0001 in of each other count as equal. A fastener fails if any of its parts fails; it is could-not-check if any part is and none fails.

TypeRule, as the checker states itNo diameter listed
BLOCKBlock diameter must be greater than the fastener diameter (or no diameter listed)Pass
NUTNut diameter must be equal to the fastener diameterCould not check
RINGRing diameter must be greater than the fastener diameterCould not check
SPACERSpacer diameter must be greater than the fastener diameter (or no diameter listed)Pass
WASHERWasher diameter must be greater than the fastener diameter (or no diameter listed)Pass

Outcomes

PassThe hardware meets its rule.
Pass · no diameterBLOCK, SPACER or WASHER with no diameter listed: not measured, passes per the acceptance criteria.
FailThe hardware breaks its rule. Logged against the FAS object at the Log Option level (error by default).
Could not checkA number the rule needs is missing: no diameter on a NUT or RING, an unknown fastener diameter, hardware in no library, a part that would not load. Logged as a warning.
Not applicableThe hardware type is not one of the five. Reported, not judged.

Where the numbers come from

The FAS object

NX Join keeps each fastener as a PointJoin feature. Its pin and its head-side and tail-side parts come back by name and type. No diameter is stored on the join.

The hardware library

So the checker reads diameters where the Join dialog does: the Hardware.xlsx beside each part, the Join XML database, and the part family table where a row says mapsTo:.

The whole assembly

It searches the work part and every component, fully loading each one first, so FAS objects in a Join container are found even when the assembly opened partially loaded.