NXOpen Prompt to Journal: The Short Version
NXOpen prompt to journal means you pin Designcenter 2606, ask for recorded-journal Python, play it in NX, then diff a recording of the same click. inteliScience, a Romania nearshore NX partner one hour ahead of CET, keeps the recorded call when they disagree. First play plus a recording usually kills invented methods in one sitting.
The Problem: A Journal That Looks Finished
You already know how to click the command. You want an NX Open journal from prompt that plays on this seat, this week, on the NX you run.
What you get instead is a .py file that imports NXOpen, names a session, and then calls a method Siemens never shipped. It reads like a journal. Play throws. You spend the next hour proving the model was guessing.
This is not a verdict on language models. It is a missing check. Public chat still fails the same way we already mapped for ChatGPT answers on Siemens NX: fluent text, invented calls. We will not retell that essay here.
Our recommendation is blunt: treat the generated file as a draft until it has survived Play and a recorded gold journal for the same click. Skip either step and you are debugging NX, not using it.
We work this loop on Designcenter 2606 (June 2026 CAD release, the named family we pin as of 28 September 2026). Siemens announced that drop on 23 June 2026. Journals still record the same way.
Pin the NX Family and the Model Id First
If the prompt does not name the NX family, the model will mix builders across releases. If it does not name the model id, you cannot reproduce the run next month.
Pin both on line one. We verified Anthropic’s current Opus id on 28 September 2026 against the Claude API docs: claude-opus-5-5, released 22 September 2026, 1 million token context, $4 input and $20 output per million tokens, knowledge cutoff June 2026. That cutoff is the same month as Designcenter 2606. It is not a substitute for your installed help.
Why 2606 belongs in the first sentence
Siemens still ships Continuous Release on a six-month named clock. 2606 is the family on the seat. 2612 is the next named drop, already in early access this month. Do not ask the model to “write NX Open for whatever you run.”
Why we name claude-opus-5-5
A family nickname (“Opus”, “GPT”) is how drafts drift. The id is what you paste into the API or the IDE picker. If your vendor has not published an id you can open this week, name the family and write “pin the snapshot id in the prompt.” Do not invent a dated string.
Ask for recorded-journal shape, not a helper library. Siemens documents recording and playback under Programming Tools (Menu, Tools, Automation, Journal). The public page we use is Siemens’ documentation on recording NX sessions.
We would advise against a prompt that says “use any NXOpen you know.” That is how workPart.GetMass() shows up.
Play the File on a Real Seat
Save the reply as inspect_work_part.py. Open a native part on 2606. Play it. The Information window should print the part name you see on the part tab, without .prt.
The journal below uses only the recorded session pattern plus members we checked against published NXOpen BasePart docs (Leaf, FullPath) and against a recorded-style Hello World journal (ListingWindow.Open, WriteLine). NXOpen.UF is imported because that is how recorded Python files start. We do not call UF here.
# NX 2606
# Journal created by inteliScience
# Inspect the work part file name in the listing window.
import NXOpen
import NXOpen.UF
def main():
theSession = NXOpen.Session.GetSession()
workPart = theSession.Parts.Work
displayPart = theSession.Parts.Display
theUfSession = NXOpen.UF.UFSession.GetUFSession()
lw = theSession.ListingWindow
lw.Open()
if workPart is None:
lw.WriteLine("No work part in session")
return
lw.WriteLine(workPart.Leaf)
lw.WriteLine(workPart.FullPath)
if __name__ == "__main__":
main()
displayPart and theUfSession sit unused on purpose. Recorded files look like that. If the model deleted those lines and invented session.get_work_part(), reject the file even if Play might still work. You are training the next prompt.
Verify step (do this in order)
- Confirm Help > About (or the splash) says 2606, not 2512 leftover.
- Open one native
.prtyou own. Not a Teamcenter placeholder if you are testing native journals. - Tools > Automation > Journal > Play, select
inspect_work_part.py. - Read the listing window. The first line must equal the work part leaf (file name without
.prt; in Teamcenter, item ID and revision). - If Play errors on a missing attribute, stop. Do not “fix” the name from memory. Go to the record-and-diff step.
A listing-window inspect is the right first play. A miss is cheap. Do not start this loop on a feature that writes solids.
Record the Same Click, Then Diff
Play tells you the file runs. Record tells you which API NX used for the click you actually care about.
What you record
For the inspect example, there is no modeling click. The gold file is the listing window output plus the session header. For a real command (a hole, a flatten, a layer change), record that command on the same part: Tools > Automation > Journal > Record, do the click, Stop, save as gold.py.
What you compare
Diff method names, not formatting. Keep FindObject("NO NAME") noise out of the argument. You want the builder create call and the commit. The generated file may look cleaner. Cleaner is not the test.
| Signal | Generated file | Recorded gold | What we keep |
|---|---|---|---|
| Session header | Often rewritten as session = | theSession, workPart | Recorded names |
| Inspect properties | May invent GetFileName() | Leaf, FullPath on BasePart | Documented members that Play already proved |
| Modeling click | Fluent helper, one line | Builder, undo mark, commit | The recorded builder |
| Unknown member | Confident | Absent | Gold. Always |
When they disagree, keep the recorded call. That is the whole method. Do not merge both. Do not ask the model to “simplify the recording.” Simplifying is how the invented one-liner returns.
A vision4NX inspect of the graphics window is a different stack. This page stays on journals you Play.
If the task was “measure mass” and the model emitted workPart.GetMass(), throw that line away. Record Analysis, Measure (or your actual click). The recording is the API for 2606. We will not quote a measurement signature from memory in this post.
Moving journals across named NX families is a different job. One sentence is enough: treat release-to-release rebuilds as the batch work of keeping NXOpen compiling, not as part of this prompt loop.
The assessment of whether models “work” on NX Open already lives elsewhere. For what holds up in practice, read that sibling. This page is the procedure you run after you already decided to try a prompt.
This runs as a POC. What’s missing for production: a pinned model id on a company account, a gold-journal library per NX family, Play in batch on more than one part, SSO to the assistant, and a seat rollout that does not paste proprietary journals into a consumer chat. We close the gap from “runs on my laptop” to “runs on the department seats”: grounded NX knowledge chat that stays on your version.
inteliScience builds that layer with senior NX engineers in Romania. EET is one hour ahead of CET. Laptop Play is the demo. The estate is the job.
Frequently Asked Questions
How do I turn an NXOpen prompt to journal that actually plays in NX?
Pin Designcenter 2606 and a real model id (claude-opus-5-5 as of 22 September 2026), demand recorded-journal Python (theSession, workPart), Play the file, then diff a recording of the same click. Keep the recorded call when the names differ. That loop is the product, not a longer prompt.
How much does a verified NX Open journal from prompt cost?
A one-command inspect journal is an afternoon: prompt, Play, record, diff. A department pack (pinned id, gold files per family, batch Play on a part set) lands in the low five figures with inteliScience because the harness is most of the work. Consumer chat is cheap. The cost is the engineer who trusted an invented method.
NX Open journal from prompt vs recording the click myself: which should I use?
Record if you can already click the command. Prompt if you need scaffolding around a click you already recorded, or an inspect you can check in the listing window. Our clear recommendation: never ship a prompted journal that has no gold recording for the write path. Prompt is the draft. Record is the API.
Should I switch models every time a new id ships?
No. Pin claude-opus-5-5 (or the id you verified this week) in the prompt until you re-run the same gold journal on a new snapshot. Opus 5.5 shipped 22 September 2026 at $4 / $20 per million tokens. Chasing ids without a gold file is how you cannot tell whether NX changed or the model did.
What if the generated journal plays but writes the wrong objects?
Play is necessary and not sufficient. Diff the recorded builder for that click, then run the journal on a second part that should stay untouched. If object tags or FindObject strings drift, throw the generated write path away and start from gold. Wrong geometry that Play “succeeds” on is worse than a traceback.
Next Step
Bring one NX click you can already record. We will run the prompt-play-diff loop on 2606 and tell you whether the prompted file is worth keeping.


