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:
- PMI navigator / Part Navigator. The full list of PMI objects, filterable by type and by model view. Model views — reoriented states that frame a readable set of annotations — are how organized parts present their PMI.
- Measure commands. For distances and angles the model does not annotate: accurate nominals, but geometry only — no tolerance data exists to read.
- Drafting. If the part's tolerances live on a drawing sheet rather than as PMI, the drawing is the source — and what you have is decoration, however official it looks.
- Export for downstream consumers. JT (viewable free in JT2Go) and STEP AP242 both carry semantic PMI. AP203/AP214 STEP exports generally drop the semantics — specify AP242 when the tolerance data is the point.
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:
- Record a journal on a representative part to learn the object model (recent NX releases record in Python or .NET languages), then edit it into a real script.
- NX Open exposes PMI as first-class objects: iterate the part's PMI collection and write out name, type, tolerance value, datum references and associated geometry.
- The associations are the semantics — export them. A table of values without the faces they govern degrades back into strings.
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
- Ask for JT. Siemens' JT2Go is free and displays semantic PMI; a cooperative sender can export JT in seconds. This is the most common real-world answer.
- Ask for STEP AP242. Importable into other CAD systems and analysis tools — again, AP242 specifically, or the PMI arrives as text or not at all.
- A raw .prt with no NX anywhere. Be honest about the situation: it is a proprietary format, free viewers do not read it, and your options are an export from the sender or a tool that processes .prt itself.
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
| Situation | Path |
|---|---|
| You have the seat and need a quick check | PMI navigator plus measure commands |
| Recurring extraction or a batch of parts | NX Open journal → CSV |
| No seat, cooperative sender | JT into JT2Go, or STEP AP242 |
| No seat, and the real need is the tolerance analysis | Upload 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.