SuperNX—Learn

SuperNX / Learn

How to Read PMI from an NX Part: Manual, Journaling, and Automated Paths

Getting dimensions and tolerances out of a .prt file is easy if you own the NX seat that made it, awkward if you do not — and quietly complicated by the fact that a part can carry two different kinds of "dimensions": semantic PMI objects bound to faces, and decoration that merely looks like a callout. Which one your file holds determines every extraction path below.

First, check what you are holding

Semantic PMI — dimensions, datum features and feature control frames created in the PMI application — is bound to faces and edges and carries values, datums and modifiers as structured data. It survives export into JT and STEP AP242, and analysis tools can read it. Decorative annotation — drafting text, legacy migrated callouts, PMI that was placed but never associated — is a string: readable by humans, invisible to tools. The quick check in NX: open the PMI navigator and select annotations — semantic objects highlight their attached geometry; decoration just sits there.

Path 1 — the NX UI

With a seat and the part open:

Path 2 — NX Open and journaling

For repeatable extraction — a CSV of every dimension and tolerance across a part or a batch of parts — the API is the honest path:

The cost is real: an NX seat, modest API literacy, and some care with legacy parts where annotation is partial. For a one-off it is usually slower than the navigator; for a batch or a recurring audit it pays for itself quickly.

Path 3 — without an NX seat

Path 4 — automated extraction

SuperNX takes the .prt itself as input: upload the part and it extracts geometry and PMI together — nominals measured from the model, tolerances read from the semantic callouts (fit codes resolved through ISO 286 where callouts are designations rather than numbers). Where PMI is absent or partial it does not invent tolerances: it falls back to measured nominals plus configurable defaults — a general-tolerance standard you choose — and flags them as assumptions rather than data.

The point of this path is that reading PMI is almost never the actual goal. The goal is the stack-up: chains through the mating geometry, worst-case and RSS results, a report, and a toleranced model back. Extraction is step zero of that pipeline — done inside the same pass that does the analysis, rather than as a separate artifact someone re-types into a spreadsheet.

Which path when

SituationPath
You have the seat and need a quick checkPMI navigator plus measure commands
Recurring extraction or a batch of partsNX Open journal → CSV
No seat, cooperative senderJT into JT2Go, or STEP AP242
No seat, and the real need is the tolerance analysisUpload the .prt — extraction and chains in one pass

Whichever path you take, keep the distinction from the top of this article in view: PMI states requirements per feature, and reading it — manually, by script, or automatically — is the start of the tolerance question, not the answer. The answer is what the chains do with those numbers. That is the part SuperNX automates, and it is the part worth automating.

FAQ

Can you open a .prt file without Siemens NX?
Not usefully with free tools — .prt is a proprietary format. The realistic paths are asking the sender for a JT or STEP AP242 export, or using a tool that reads .prt directly, which is what SuperNX does on upload.
What is the difference between PMI and a regular dimension?
A PMI object is bound to model faces or edges and carries its value, datum references and modifiers as structured data — machine-readable. A dumb dimension or drafting-era text is a string with no reliable association to geometry; analysis tools cannot use it without a human re-reading it.
Does STEP preserve PMI?
STEP AP242 carries semantic PMI; older AP203 and AP214 exports generally do not. When requesting a neutral file specifically for the tolerance data, specify AP242 with semantic PMI — and spot-check that the callouts arrived associated, not as text.
Can I export NX PMI to Excel or CSV?
Yes, via an NX Open journal: iterate the part PMI objects — dimensions, feature control frames, datums — and write name, type, value and associated geometry to a file. It requires an NX seat and modest API familiarity.
What if the part has no PMI at all?
Then there is no tolerance data to extract — the part is nominally defined only. Options are asking for an annotated model, or measuring nominal geometry and applying a general-tolerance standard (such as ISO 2768) explicitly flagged as an assumption. SuperNX takes the second path automatically: measured nominals plus configurable default tolerances rather than invented callouts.