Configurare NXOpen Python: varianta scurtă
Configurarea NXOpen Python înseamnă că NX încarcă propriul interpretor, nu Python-ul de pe PATH. Setați limba de journal pe Python, țineți journal-urile într-un folder pe care îl deține echipa, fixați Designcenter 2606 și rulați un journal scurt din Tools > Automation > Journal. inteliScience face asta zilnic pentru stații DACH din România (EET este CET+1).
Problema: NX nu folosește Python-ul de pe PATH
Configurarea NXOpen Python se rupe când cineva scrie un .py fișier, apasă Run într-un editor, iar NXOpen lipsește. NX nu a promis niciodată asta. Journal-urile rulează în procesul NX. Interpretorul este cel cu care a pornit NX, limba este un Customer Default, iar fișierul stă acolo unde NX a înregistrat ultima dată, dacă nu setați un director intenționat.
Vedem aceleași trei greșeli pe stațiile DACH. Limba de journal este încă Visual Basic din sesiunea anterioară. Inginerul a instalat pachete cu pip într-un venv pe care NX nu îl vede. Fișierul .py stă pe un desktop pe care niciun coleg și niciun administrator CAD nu îl va găsi vreodată.
Alegerea limbii este un alt articol. Pentru Python versus C# pe NX Open folosiți comparația de limbaje pe care am publicat-o deja. Acest articol este stația Python care chiar rulează.
Recomandarea noastră: tratați primul Play reușit ca test de configurare, nu ca unealtă. Dacă rulează doar pe o stație, aveți o dovadă, nu un proces.
Fixați Designcenter 2606 înainte să scrieți o linie
Fixați mai întâi versiunea NX. Un journal care rulează pe 2412 poate eșua pe 2606 din motive care nu au nicio legătură cu sintaxa Python. inteliScience scrie NX Open pe versiunea pe care o rulează atelierul, apoi păstrează acea versiune în repo lângă .py fișierele.
Siemens a pus Designcenter June 2026 la descărcare pe 23 iunie 2026 (Jamie Tyler, blog Designcenter). Acea versiune este NX 2606. Fixăm lucrările de client pe 2606, exceptând cazul în care fabrica este încă pe 2506 sau 2512 și nu se poate muta încă.
Pe 16 iulie 2026 Siemens Community a publicat Community Conversations: bune practici și biblioteci NXOpen. Folosiți acea sesiune pentru biblioteci și obiceiuri. Nu lipiți fragmente specifice unei versiuni dintr-un video vechi pe o stație 2606.
Nu recomandăm amestecarea journal-urilor 2412, 2506 și 2606 într-un folder fără etichetă. Înregistrați Help > About de pe mașina care va rula journal-ul și puneți acel text în commit. Dacă About și standardul fabricii nu coincid, opriți-vă și alegeți unul.
Limba de journal și directorul de journal NX
Directorul de journal-uri NX nu este un truc ascuns din Windows. Este folderul pe care NX îl folosește când dați Record sau Play. Setați limba la Python și setați acel folder într-o locație deținută de administratorul CAD. Preferințele User Interface se salvează per utilizator. Customer Defaults stabilesc baza pentru fiecare post de lucru.
Faceți asta în ordine:
- File > Preferences > User Interface, Journal language: Python (preferința dumneavoastră de utilizator; suprascrie valoarea implicită).
- File > Utilities > Customer Defaults > Gateway > User Interface > fila Journal, aceeași limbă (supraviețuiește restartului).
- În Customer Defaults > Gateway > General > Directories, setați Journal Directory la un folder partajat controlat de administratorul CAD. Nu îl lăsați pe un desktop personal.
- Confirmați persistența: închideți NX, porniți NX, deschideți din nou Customer Defaults. Dacă limba a revenit, default-urile de site sunt blocate. Vorbiți cu administratorul CAD, nu luptați cu dialogul.
- Confirmați folderul: înregistrați un journal dummy, apoi uitați-vă unde a scris NX fișierul. Acela este directorul pe care NX îl folosește, nu o cale copiată dintr-un blog.
Siemens documentează înregistrarea și redarea la Înregistrarea sesiunilor NX. Play este Menu > Tools > Automation > Journal > Play. Unele panglici expun Play și pe fila Developer.
| Setare | Trăiește în | Supraviețuiește restartului NX |
|---|---|---|
| Limba de journal (această sesiune) | File > Preferences > User Interface | Da, per utilizator (suprascrie valoarea implicită) |
| Limba de journal (implicit de site sau utilizator) | Customer Defaults > Gateway > User Interface > Journal | Da, dacă nivelul dvs. poate scrie default-uri |
| Director de journal | Customer Defaults > Gateway > General > Directories, apoi verificați prin înregistrare | Da, odată ce default-urile se salvează |
Dacă aveți nevoie de fișierul de defaults pe care l-a încărcat NX, deschideți Help > Log File și căutați dpv. Citiți calea pe care NX o afișează. Nu publicăm o locație AppData ghicită, pentru că instalările și politicile de site diferă.
Recomandare clară: un director de journal partajat per versiune NX, numit după release (de exemplu journals-2606), cu drept de scriere pentru autori și drept de citire pentru testeri. Două foldere pentru două versiuni. Niciodată o grămadă.
Confirmați ce interpretor Python încarcă NX
Afișați sys.version și sys.executable dintr-un journal rulat cu Play în NX. Acesta este interpretorul pe care l-a încărcat NX. Dacă acele linii nu coincid cu Python-ul pe care îl folosiți în VS Code, NX nu folosește venv-ul dvs., iar pip install de pe PATH nu ajută.
# Play from Tools > Automation > Journal. Do not run this in VS Code.
import sys
import NXOpen
def main():
session = NXOpen.Session.GetSession()
lw = session.ListingWindow
lw.Open()
lw.WriteLine("sys.version: " + sys.version)
lw.WriteLine("sys.executable: " + sys.executable)
lw.WriteLine("sys.prefix: " + sys.prefix)
lw.WriteLine("NXOpen loaded from: " + getattr(NXOpen, "__file__", "(builtin)"))
if __name__ == "__main__":
main()
Copiați acele linii din listing window în ticket. Acesta este pin-ul dvs. O distribuție externă este opțională. Când aveți nevoie de un pachet pe care NX nu îl livrează, Siemens documentează UGII_PYTHON_LIBRARY_DIR, UGII_PYTHONPATH, și UGII_PYTHON_DLL (NX Open Programmer’s Guide, “Use external Python distribution”). Potriviți versiunea minoră pe care NX a afișat-o. O instalare 3.13 lângă un interpretor NX 3.12 este o eșuare frecventă de tip “cannot initialize Python interpreter”.
Lăsați ugii_env.dat editările pe seama administratorului CAD. Rădăcina de instalare este UGII_BASE_DIR pe acea mașină. Ghicirea unui C:\... path face ca journal-urile să ajungă în commit cu o locație care există pe un singur laptop.
Stub-urile sunt o opțiune separată de installer. Din NX 2312, stub-urile Python sunt livrate când Programming Tools este selectat. Îndreptați editorul către UGII_BASE_DIR\UGOPEN\pythonStubs. Asta este doar IntelliSense. Journal-urile tot se rulează cu Play în NX. Ghidul public Ghidul de referință NX Open Python indexează în prezent ca NX 2406 Series. Confirmați numele de clase față de help-ul livrat cu 2606.
Primul journal NX Open Python care rulează
Un prim journal funcțional importă NXOpen și NXOpen.UF, preia sesiunea la fel ca o înregistrare, scrie o linie în listing window și este rulat cu Play din NX. Dacă acel fișier eșuează, reparați configurarea. Nu adăugați geometry builder-e peste un interpretor stricat.
# Minimal NX Open Python journal (recorded-journal import shape).
# Play: Tools > Automation > Journal > Play
import NXOpen
import NXOpen.UF
def main():
theSession = NXOpen.Session.GetSession()
theUfSession = NXOpen.UF.UFSession.GetUFSession()
workPart = theSession.Parts.Work
displayPart = theSession.Parts.Display
lw = theSession.ListingWindow
lw.Open()
lw.WriteLine("NXOpen Python setup: journal ran inside NX.")
if workPart is not None:
lw.WriteLine("Work part: " + workPart.Name)
else:
lw.WriteLine("No work part. Open a part, then Play again.")
_ = theUfSession
_ = displayPart
if __name__ == "__main__":
main()
Salvați-l în directorul de journal pe care l-ați setat. Deschideți un part. Play. Vreți două linii în listing window și niciun dialog de interpretor. theUfSession este obținut așa cum îl scrie o înregistrare Python, chiar dacă acest fișier nu apelează niciodată UF.
Dacă Play spune că NXOpen nu poate fi importat, ați rulat fișierul în afara NX. Dacă Python nu se poate inițializa, variabilele pentru interpretorul extern sau versiunea minoră sunt greșite. Dacă limba e greșită, fila Journal este încă pe Visual Basic.
Acesta rulează ca un POC. Ce lipsește pentru producție: un director de journal partajat pe care îl deține administratorul CAD, un pin NX 2606 pe care îl respectă fiecare stație, meniuri ca oamenii să nu deschidă niciodată Journal Editor, erori conștiente de Teamcenter și un proprietar după ce autorul schimbă echipa. Închidem decalajul de la un journal care rulează pe o stație la o unealtă pe care o poate rula departamentul. Cum livrăm unelte NXOpen de producție
Întrebări frecvente
Cât costă configurarea NXOpen Python?
Interpretorul inclus este deja pe stația NX, deci costul de configurare este timp de inginer, nu un SKU Python. Planificați o jumătate de zi pentru a fixa versiunea, a seta Customer Defaults, a dovedi Play și a scrie verificarea din listing window în wiki-ul echipei. Livrarea unui toolkit Python pe alte stații este o întrebare de licență (NX Open Python Author / toolkits), pe care o cotăm doar după ce vedem stațiile. Nu bugetați un compilator pentru un journal.
Python inclus în NX vs. un interpretor extern: pe care să-l folosim?
Folosiți interpretorul inclus până când un pachet pe care NX nu îl livrează devine o cerință reală. Apoi îndreptați NX către o distribuție externă a cărei versiune minoră se potrivește cu sys.version din journal-ul de mai sus, folosind variabilele din Programmer’s Guide, nu o instalare oarecare de pe python.org. Nu recomandăm ca fiecare dezvoltator să îndrepte NX către un venv personal.
Unde este directorul de journal NX?
Este Journal Directory din fila Directories a Customer Defaults (Gateway > General), verificat prin înregistrarea unui fișier de test și prin a vedea unde l-a scris NX. User Interface Preferences pot suprascrie valoarea implicită. Dacă aveți nevoie de fișierul de valori implicite propriu-zis, Help > Log File, căutați dpv, și citiți calea pe care NX a încărcat-o.
De ce subliniază Visual Studio Code NXOpen?
Pentru că editorul nu este NX. Adăugați UGII_BASE_DIR\UGOPEN\pythonStubs la extra paths ale editorului după instalarea Programming Tools (stub-urile sunt livrate de la NX 2312). Dacă sublinierile dispar, asta nu înseamnă că puteți rula fișierul cu Run din editor. Play rămâne în NX.
Avem nevoie de Programming Tools pentru a rula un journal Python?
Nu. Journal-urile se rulează cu Play pe o instalare NX normală. Programming Tools adaugă exemple UGOPEN și pythonStubs pentru editor. Dacă lipsesc aceste foldere, rulați din nou installer-ul cu Programming Tools bifat. Stub-urile lipsă sunt o problemă de editor. Un interpretor lipsă este o problemă de configurare NX.
Pasul următor
Dacă listing window a afișat sys.version iar journal-ul minimal a numit work part-ul, configurarea e gata. Următoarea conversație este cum acel fișier devine o comandă pe care alți ingineri o vor rula și în 2027, pe versiunile NX pe care le aveți de fapt, cu un proprietar. inteliScience face asta ca livrare NX Open din România pentru echipe DACH.
Programați un apel strategic despre configurarea NXOpen Python

