NX Automations · Check-Mate test
Join Diameter Check
Download 1.0.4Checks 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
Pure NX Open for Python: nothing to compile, no licence beyond NX Join and Check-Mate. Verified on NX 2606.5001.
As a Check-Mate test
- Unzip. Put the
diacheckfolder somewhere NX can read, for exampleD:\nx_custom\diacheck. It holds anapplicationfolder:NXCheckers.json, the checker’s Python files and its Customize dialog (.dlx). - Point NX at it: set
UGII_USER_DIR=D:\nx_custom\diacheckbefore NX starts, or add that folder to thecustom_dirs.datyour site already uses. - Start NX and open the assembly. In Check-Mate’s Set Up Tests (search for it with Ctrl+Space) the test is under Join › Point Join › Fastener Hardware Diameter.
- Add it to Chosen Tests. The Customize button beside the list opens its settings (below), for example the path of a hardware XML database. Then Execute Check-Mate Tests: failing fasteners are listed against their FAS object, and the full table goes to the listing window.
Without Check-Mate
With the assembly open, File › Execute › NX Open (Alt+F8) and choose run_diacheck.py. Same code, same table, plus a JSON report beside the part.
run_journal.exe run_diacheck.py -args D:\path\asm.prt D:\path\report.json run_journal.exe ExecuteChecker.py -args D:\path\asm.prt D:\logs (through Check-Mate, batch)
Telling it where your hardware library is
NX Join stores only the names of a fastener’s hardware. The checker reads the diameters from the same library the Join dialog reads: the Hardware.xlsx in the folder of each hardware part (found automatically), and Join XML databases, which you list in XML Databases in the Customize dialog. The diameter column is Diameter<Double:Length:in> (or mm); the type column is Type or Hardware Type.
Each fastener remembers where its hardware part was when it was placed. If the hardware library has moved since then, the checker reports those fasteners as could not check rather than guessing; list the library’s new folder under Extra Folders and it is found again.
Settings: the Customize dialog
Check-Mate › Set Up Tests › Customize. It refuses, and changes nothing, on a type alias to anything but the five kinds, a negative tolerance, or an XML database path that does not exist.
| Parameter | Default | Meaning |
|---|---|---|
| Equality Tolerance (in) | 0.0001 | Diameters closer than this are equal. |
| Washer Must Have a Diameter | false | true: a washer with no diameter cannot pass (the description text). |
| Type Aliases | (empty) | Map other hardware types onto the five, e.g. Collar=NUT; Lock Washer=WASHER. |
| XML Databases | (empty) | Join hardware.xml files to read, separated by ; |
| Extra Folders | (empty) | Folders searched for Hardware.xlsx besides the one next to each part. |
| Join Subtypes | Fastener | Join subtype labels, separated by ; |
| JSON Report | (empty) | Write the full per-fastener report here. |
| Log Option | LOG_ERROR | Level a failing fastener is logged at. Could-not-check is always a warning. |
| Log Message | (empty) | Text added to every logged failure. |
| Save Log in Part | true | Check-Mate keeps the result in the part. |