Verification

36 fasteners were built with the NX Join API (PointJoinBuilder, subtype Fastener) in a Join container component, each connected to two real plate bodies in the assembly. The expected outcome of each was worked by hand from the acceptance criteria before the checker ran.

NX
2606.5001
Checker
1.0.2 · repo 2d2e1b5
Run
2026-10-02T12:34:44Z
Assembly
nx/verification/asm.prt (PLATES + JOINS container)
Found
36 point joins: 35 fasteners checked, 1 of another subtype left alone
Overall
All checks hold
The verification assembly in NX: asm with the PLATES and JOINS components. Each purple marker is one Join fastener.
The same assembly after running the check from the Journal Manager: every fastener and every hardware part, with the reason.

Three ways in, one answer

36/36

Checker run in the NX session that built the assembly.

36/36

Every part closed, the assembly reopened from disk, run again: the answer comes from the saved files.

36/36

Registered in Check-Mate in a fresh batch NX process and run there. Check-Mate’s own log: status fail, 14 failing FAS objects, 4 warnings.

#CaseFastenerHardwareExpectedSessionReopenedCheck-Mate
S01NUT equalFAS1TP-80.25 in
tail TN-8 Nut0.25 in · Nut 0.25 vs fastener 0.25: equal
PassPassPassPass
S02NUT largerFAS2TP-80.25 in
tail TN-10 Nut0.3125 in · Nut 0.3125 vs fastener 0.25: a nut must equal the fastener diameter, this one is larger
FailFailFailFail
S03NUT smallerFAS3TP-80.25 in
tail TN-6 Nut0.19 in · Nut 0.19 vs fastener 0.25: a nut must equal the fastener diameter, this one is smaller
FailFailFailFail
S04NUT with no diameter (requirement silent)FAS4TP-80.25 in
tail TN-X Nut— · Nut has no diameter listed, and the rule for NUT needs one
Could not checkCould not checkCould not checkCould not check
S05WASHER greaterFAS5TP-80.25 in
tail TW-265 Washer0.265 in · Washer 0.265 vs fastener 0.25: greater
PassPassPassPass
S06WASHER equalFAS6TP-80.25 in
tail TW-250 Washer0.25 in · Washer 0.25 vs fastener 0.25: must be greater than the fastener, this one is equal
FailFailFailFail
S07WASHER smallerFAS7TP-80.25 in
tail TW-203 Washer0.203 in · Washer 0.203 vs fastener 0.25: must be greater than the fastener, this one is smaller
FailFailFailFail
S08WASHER no diameterFAS8TP-80.25 in
tail TW-X Washer— · Washer has no diameter listed; check not performed (passes per the acceptance criteria)
PassPassPassPass
S09RING greaterFAS9TP-80.25 in
tail TR-300 Ring0.3 in · Ring 0.3 vs fastener 0.25: greater
PassPassPassPass
S10RING equalFAS10TP-80.25 in
tail TR-250 Ring0.25 in · Ring 0.25 vs fastener 0.25: must be greater than the fastener, this one is equal
FailFailFailFail
S11RING smallerFAS11TP-80.25 in
tail TR-200 Ring0.2 in · Ring 0.2 vs fastener 0.25: must be greater than the fastener, this one is smaller
FailFailFailFail
S12RING with no diameter (requirement silent)FAS12TP-80.25 in
tail TR-X Ring— · Ring has no diameter listed, and the rule for RING needs one
Could not checkCould not checkCould not checkCould not check
S13SPACER greaterFAS13TP-80.25 in
tail TS-300 Spacer0.3 in · Spacer 0.3 vs fastener 0.25: greater
PassPassPassPass
S14SPACER equalFAS14TP-80.25 in
tail TS-250 Spacer0.25 in · Spacer 0.25 vs fastener 0.25: must be greater than the fastener, this one is equal
FailFailFailFail
S15SPACER smallerFAS15TP-80.25 in
tail TS-100 Spacer0.1 in · Spacer 0.1 vs fastener 0.25: must be greater than the fastener, this one is smaller
FailFailFailFail
S16SPACER no diameterFAS16TP-80.25 in
tail TS-X Spacer— · Spacer has no diameter listed; check not performed (passes per the acceptance criteria)
PassPassPassPass
S17BLOCK greaterFAS17TP-80.25 in
head TB-500 Block0.5 in · Block 0.5 vs fastener 0.25: greater
PassPassPassPass
S18BLOCK equalFAS18TP-80.25 in
head TB-250 Block0.25 in · Block 0.25 vs fastener 0.25: must be greater than the fastener, this one is equal
FailFailFailFail
S19BLOCK smallerFAS19TP-80.25 in
head TB-190 Block0.19 in · Block 0.19 vs fastener 0.25: must be greater than the fastener, this one is smaller
FailFailFailFail
S20BLOCK no diameterFAS20TP-80.25 in
head TB-X Block— · Block has no diameter listed; check not performed (passes per the acceptance criteria)
PassPassPassPass
S21Head washer, tail washer + nut, all goodFAS21TP-80.25 in
head TW-265 Washer0.265 in · Washer 0.265 vs fastener 0.25: greater
tail TW-265 Washer0.265 in · Washer 0.265 vs fastener 0.25: greater
tail TN-8 Nut0.25 in · Nut 0.25 vs fastener 0.25: equal
PassPassPassPass
S22Head side fails, tail side passes: the fastener failsFAS22TP-80.25 in
head TW-250 Washer0.25 in · Washer 0.25 vs fastener 0.25: must be greater than the fastener, this one is equal
tail TN-8 Nut0.25 in · Nut 0.25 vs fastener 0.25: equal
FailFailFailFail
S23Type outside the five (Collar)FAS23TP-80.25 in
tail TC-8 Collar0.261 in · type 'Collar' is not BLOCK, NUT, RING, SPACER or WASHER; no diameter rule applies
Not applicableNot applicableNot applicableNot applicable
S24Fastener with no head or tail hardwareFAS24TP-80.25 innoneNot applicableNot applicableNot applicableNot applicable
S25Fastener diameter missing from the libraryFAS25TP-NODIA—
tail TN-8 Nut0.25 in · fastener diameter is unknown, so the nut cannot be compared
Could not checkCould not checkCould not checkCould not check
S26Hardware not in any libraryFAS26TP-80.25 in
tail TN-MISSING Nut— · Nut TN-MISSING: 'TN-MISSING' not found in Nuts/Hardware.xlsx, hardware.xml
Could not checkCould not checkCould not checkCould not check
S27Type blank on the join, read from the library's 'Hardware Type' columnFAS27TP-80.25 in
tail TN-8 Nut0.25 in · Nut 0.25 vs fastener 0.25: equal
PassPassPassPass
S28Metric library (mm): 7 mm washer on a 1/4 in fastenerFAS28TP-80.25 in
tail TWM-7 Washer0.2756 in · Washer 0.2756 vs fastener 0.25: greater
PassPassPassPass
S29Metric library (mm): 6.35 mm nut equals 1/4 inFAS29TP-80.25 in
tail TNM-635 Nut0.25 in · Nut 0.25 vs fastener 0.25: equal
PassPassPassPass
S30Metric library (mm): 8 mm nut on a 1/4 in fastenerFAS30TP-80.25 in
tail TNM-8 Nut0.315 in · Nut 0.315 vs fastener 0.25: a nut must equal the fastener diameter, this one is larger
FailFailFailFail
S31Lower-case type textFAS31TP-80.25 in
tail TN-10 nut0.3125 in · Nut 0.3125 vs fastener 0.25: a nut must equal the fastener diameter, this one is larger
FailFailFailFail
S32Within equality tolerance (0.25005 vs 0.25)FAS32TP-80.25 in
tail TN-8T Nut0.25 in · Nut 0.25 vs fastener 0.25: equal
PassPassPassPass
S33Shipped XML database: Hi-Lok pin spec + NAS1149 washerFAS33HL10V-6-40.1875 in
tail NAS1149D0332K Washer0.203 in · Washer 0.203 vs fastener 0.1875: greater
PassPassPassPass
S34Shipped Excel library: pin diameter via mapsTo -> part family tableFAS34HL10V-6-40.1875 in
tail NAS1149D0332K Washer0.203 in · Washer 0.203 vs fastener 0.1875: greater
PassPassPassPass
S35Shipped Excel library: washer smaller than the pinFAS35HL10V-8-40.25 in
tail NAS1149D0332K Washer0.203 in · Washer 0.203 vs fastener 0.25: must be greater than the fastener, this one is smaller
FailFailFailFail
S36Rivet subtype point join (not the Fastener option) is skipped—noneNot checkedNot checkedNot checkedNot checked

Controls

A parameter that changes nothing looks exactly like one that is ignored. Each option was flipped and the run must change exactly the cases that option governs, no more and no fewer.

Holds{"washer_requires_diameter":true}
Description text instead of acceptance criteria for a diameterless washer

Expected to change: S08 → Could not check. Changed: S08.

Holds{"tolerance_in":0}
Exact comparison: 0.25005 is no longer equal to 0.25, and a 6.35 mm nut no longer equals 1/4 in

Expected to change: S32 → Fail, S29 → Fail. Changed: S29, S32.

Holds{"type_aliases":"Collar=NUT"}
A customer mapping makes the Collar a NUT (0.261 vs 0.25 fails)

Expected to change: S23 → Fail. Changed: S23.

Holds{"subtypes":"Fastener;Rivet"}
Checking Rivet point joins too: the rivet's TN-10 nut fails

Expected to change: S36 → Fail. Changed: S36.

Holds{"xml_databases":""}
Without the shipped XML database the spec-only pin cannot be resolved through XML; Excel + family table still answer

Expected to change: nothing. Changed: nothing.

HoldsNegative control
Could this verification have failed?

WASHER rule changed from 'greater' to 'equal': 7 cases stop matching (S05, S06, S21, S22, S28, S33, S34). A verification that cannot fail proves nothing; this one notices a wrong rule.

What this does not cover. The test hardware library is this project’s own (part numbers T*), shaped like the Reuse Library Excel files NX ships, plus the shipped sample library itself. It has not yet been run against a customer’s production hardware library or a Teamcenter-managed assembly: hardware whose data source is Teamcenter Classification resolves only if the same names are in a Hardware.xlsx or XML database the checker can read, and otherwise reports could not check.