Contacte
Contactați-ne
Închis

Contacte

România, Cluj-Napoca – 400157
Str. Ploiești nr. 9

România, Vama – 447350
Str. Fermei Nr. 14

+40 774 463 429

info@inteliscience.net

Înlocuire componentă în NX: păstrați constrângerile (2026)

Înlocuire componentă în NX: pe scurt

NX Replace Component înlocuiește o componentă cu un alt fișier de piesă și, cu Maintain Relationships activat, încearcă să păstreze constrângerile, legăturile WAVE și atributele. Constrângerile se păstrează când piesa nouă este o versiune a celei vechi sau conține geometrie de referință cu nume identice. inteliScience, specialiști NXOpen care livrează din România, automatizează înlocuirea în masă pe bază de reguli în spatele unei porți de confirmare (gate) cu previzualizare, confirmare și undo.

Componenta de înlocuire este… Ce încearcă NX să păstreze (Maintain Relationships activat) Ce decide succesul
O versiune (același UID prin Save As sau șablon)Poziție, atribute, constrângeri de ansamblu, legături WAVE, expresii interpart, vederi de desen, PMIFețele și muchiile referențiate există în continuare, cu tipul corect
O piesă fără legătură (UID diferit)Poziție, atribute, poziții explodate, condiții de variantă, note ale instanțelor (occurrence notes)Nume de obiect identice pe geometria referențiată

Problema: o carcasă își schimbă dimensiunea și fiecare supapă trebuie să urmeze

„Când componentele sunt înlocuite, ce se întâmplă cu constrângerile de ansamblu?” Echipa CAD a unui constructor de mașini din regiunea DACH a pus această întrebare pe lista sa de cazuri de utilizare AI pentru NX, alături de automatizarea desenelor și reconstruirea pieselor migrate. O întrebare legitimă. La înlocuire, ansamblurile își pierd pe nesimțite structura.

Imaginați-vă declanșatorul. O carcasă crește cu o mărime, porturile ei devin mai mari și fiecare supapă montată în ele trebuie să devină o altă supapă. Ghidul de proiectare din wiki stabilește ce familie de supape, ce clasă de presiune și ce material al corpului aparțin fiecărei carcase. Pe zeci de piese dependente, inginerul parcurge aceeași buclă pentru fiecare instanță: o găsește, caută regula, alege piesa, o înlocuiește, verifică ce constrângeri eșuează acum.

Nimic din această buclă nu necesită judecată, cu excepția ghidului, iar ghidul este documentat în scris. Asta o face automatizabilă. Dacă constrângerile rezistă sau nu, asta o face riscantă.

Cum funcționează comanda nativă Replace Component din NX

Replace Component elimină o componentă și pune în locul ei un alt fișier .prt; faceți clic dreapta pe componentă în aplicația Assemblies. Tabelul urmează documentația de ajutor NX 2306, cea mai nouă versiune publică a acestor pagini pe care am putut-o accesa; builder-ul NXOpen expune aceleași opțiuni din NX 6.

Grupul din dialog Opțiune Ce face
Componente de înlocuitSelectare componenteUna sau mai multe componente de schimbat
Componentă de înlocuireSelectare piesă, RăsfoireDin fereastra grafică, Assembly Navigator, lista Loaded Parts sau un fișier ales prin răsfoire
SetăriMaintain RelationshipsDacă NX „încearcă să păstreze relațiile, cum ar fi constrângerile de ansamblu și atributele”
SetăriReplace All Occurrences in AssemblyDacă sunt înlocuite toate instanțele, nu doar cea selectată
Proprietăți componentăName OptionMaintain (numele vechi al componentei), Original (numele piesei noi), As Specified
Proprietăți componentăReference SetMaintain, Entire Part sau Empty
Proprietăți componentăLayer OptionMaintain, Original, Work sau As Specified

Contează două comportamente. NX vă avertizează când componenta de înlocuire nu este o revizie a originalului: nu a fost creată din același șablon și nu descinde din aceeași piesă goală. Iar pentru un membru al unei familii de piese, NX încearcă să ofere șablonul familiei, ca să puteți alege o piesă-soră. Dacă o familie, WAVE sau codul ar trebui să gestioneze variantele dumneavoastră este tratat în articolul despre alegerea între familii de piese, WAVE și NXOpen.

Poziția noastră: lăsați Maintain Relationships activat. Este valoarea implicită documentată a builder-ului NXOpen, iar dezactivarea lui pentru a forța o înlocuire încăpățânată doar mută paguba într-un loc unde o veți descoperi mai târziu.

Depinde dacă NX consideră piesa nouă o versiune a celei vechi. Dacă acest lucru este corect, NX încearcă să păstreze aproape totul; dacă nu, constrângerile supraviețuiesc doar acolo unde ați pregătit geometria prin nume.

NX identifică versiunile printr-un identificator unic intern (UID). O piesă nouă goală primește unul, fiecare copie Save As îl păstrează și fiecare piesă creată din același șablon îl partajează. Pentru versiuni, Maintain Relationships încearcă, de asemenea, să păstreze constrângerile de ansamblu, condițiile de împerechere (mating conditions), legăturile WAVE, expresiile interpart, vederile de desen și PMI. În ghidul how-to de la Siemens, furca unei roți pivotante înlocuită cu una „derivată din aceeași componentă” își păstrează constrângerile de ansamblu.

Pentru piese fără legătură, constrângerile de ansamblu nu se află pe listă. Puntea documentată o reprezintă numele obiectelor: denumiți muchia sau fața pe care o referențiază o constrângere în piesa veche (Properties, fila General), dați geometriei echivalente din piesa nouă același nume, iar NX poate identifica ce geometrie trebuie să referențieze constrângerea.

Documentația nu publică logica internă de potrivire, așa că nu vom face presupuneri despre ea. Publică însă modul de eșec: o constrângere a cărei referință a dispărut primește o pictogramă de stare în Assembly Navigator, deoarece „referențiază geometrie care a fost ștearsă, suprimată sau care are acum un tip greșit”. Asta corespunde cu ce i-am spus echipei clientului: constrângerile pot fi, în general, păstrate și se rup când fețele referențiate sau altă geometrie necesară lipsesc de pe componenta nouă.

WAVE adaugă o capcană. Documentația WAVE enumeră înlocuirea componentei în structura ansamblului ca una dintre cauzele ruperii unei legături; aceasta apare apoi ca „Broken” în Part Navigator. Repararea înseamnă redefinirea sursei, reatribuirea ei unui alt părinte (reparent) sau eliminarea feature-ului legat, iar Replacement Assistant din WAVE Geometry Linker mapează noua geometrie sursă pe obiectul legat existent.

Noțiunile de bază despre constrângeri (Fix, Touch Align, Concentric, Reference Sets) se găsesc în tutorialul nostru despre elementele de bază ale ansamblurilor NX.

De ce înlocuirea componentelor una câte una nu scalează

O singură rulare NX Replace Component înseamnă câteva clicuri. Problema este multiplicarea și memoria, nu comanda.

O schimbare de mărime a carcasei se propagă: supapele din fiecare port, garniturile lor, uneori racordurile din spatele lor, în fiecare ansamblu care folosește carcasa. Manual, trei lucruri merg prost. Inginerul ajuns la a opta supapă alege numărul de piesă din memorie. Lista instanțelor este incompletă. Iar verificarea constrângerilor se face la final, dacă se face; chiar exemplul Siemens cu kartul găsește șapte constrângeri nerezolvate din 136 abia după regruparea Constraint Navigator după stare.

În plus, constrângerile devin tot mai ușor de creat. Articolul Siemens despre Magnetic Snap din 17 iulie 2026 descrie Auto Align, unde „sistemul găsește inteligent două constrângeri și le adaugă”, astfel încât fiecare înlocuire are mai multe referințe de satisfăcut. Designcenter NX 2606 (iunie 2026) este versiunea actuală, iar Designcenter 2612 Early Access Program a rulat până la 25 septembrie 2026. Interfața se schimbă mereu; regula versiunilor nu.

Replace All Occurrences pare scurtătura. Nu este: înlocuiește fiecare instanță a piesei selectate, în timp ce regula poate cere supape diferite, în funcție de carcasa în care se află fiecare. Îl descurajăm în orice rulare în care decide o regulă, nu un număr de piesă.

Înlocuire în masă pe bază de reguli: cum o automatizăm

Un parametru de control (driver) se modifică, un tabel de reguli alege piesa nouă pentru fiecare instanță afectată, iar NXOpen execută înlocuirile cu Maintain Relationships activat, în spatele unui gate. La inteliScience am implementat exact acest caz: supapele au fost înlocuite automat cu componente noi potrivite, pe baza dimensiunilor modificate ale carcaselor și a ghidurilor de proiectare date. AI-ul nu ghicește o piesă; aplică tabelul și pregătește lista de modificări.

Tabelul de reguli

Contractul dintre ghid și automatizare. Ilustrativ, cu numere de piesă fictive:

Parametru de control (carcasă) Condiție Regulă de selecție (din ghid) Componentă de înlocuire
PORT_SIZE = 20PRESSURE_CLASS până la 16 barAceeași dimensiune nominală ca portul, corp standardVLV-0020-STD
PORT_SIZE = 20PRESSURE_CLASS peste 16 barAceeași dimensiune, corp de înaltă presiuneVLV-0020-HP
PORT_SIZE = 25oricareAceeași dimensiune nominală, corp standardVLV-0025-STD
PORT_SIZE = 32HOUSING_MATERIAL = inoxAceeași dimensiune, corp din inoxVLV-0032-SS
niciun rând potrivitnimicOprire și marcarea instanței pentru un inginernimic

Ultimul rând contează cel mai mult: fără o cale explicită pentru lipsa unei potriviri, automatizarea se transformă în ghicit tacit. Dacă ghidul se află într-un wiki precum Confluence, conectăm wiki-ul prin API-ul său, astfel încât regulile provin din pagina curentă, nu dintr-un export învechit.

Workflow-ul automatizat, pas cu pas

  1. Declanșator. Expresia de control sau atributul carcasei se modifică.
  2. Domeniu. Colectarea fiecărei instanțe acoperite de tabel, de exemplu fiecare supapă dintr-o carcasă modificată.
  3. Decizie. Pentru fiecare instanță: o componentă de înlocuire sau un marcaj de nepotrivire (no-match).
  4. Verificare prealabilă. Aceeași descendență din șablon sau geometria de interfață denumită este prezentă? Eșecurile sunt marcate, nu trimise către NX.
  5. Previzualizare. O listă de modificări, de la piesa veche la piesa nouă, cu regula declanșată. Nimic aplicat încă.
  6. Confirmare. Inginerul aprobă toate, unele sau niciuna.
  7. Execuție. Marcaj de undo, apoi înlocuire pentru fiecare instanță cu Maintain Relationships activat.
  8. Raport. Constrângeri care nu se mai rezolvă, înlocuiri eșuate, piese neîncărcate.
  9. Închidere. Acceptare, corectarea manuală a elementelor marcate sau undo până la marcaj. Rularea este înregistrată.

Acesta rulează ca buton în ribbon sau ca job batch pe multe ansambluri; un chat este opțional. Pentru înlocuiri individuale ad-hoc, la stația de lucru, NX Action Assistant este varianta conversațională, cu același gate de previzualizare și confirmare.

Apelurile NXOpen din spate

Pașii 7 și 8 sunt NXOpen pur. AssemblyManager.CreateReplaceComponentBuilder returnează un NXOpen.Assemblies.ReplaceComponentBuilder (ambele „Created in NX6.0.0”), cu valorile implicite documentate MaintainRelationships = true și ReplaceAllOccurrences = false. O versiune Python condensată:

# NXOpen Python journal: execute a confirmed replacement plan, then report
# constraints that no longer solve. Members as documented in the NXOpen
# reference; run it on a copy of the assembly first.
import NXOpen
import NXOpen.Assemblies
import NXOpen.Positioning

session = NXOpen.Session.GetSession()
work_part = session.Parts.Work
lw = session.ListingWindow
lw.Open()
RCB = NXOpen.Assemblies.ReplaceComponentBuilder

def replace_one(component, new_part_path):
    builder = work_part.AssemblyManager.CreateReplaceComponentBuilder()
    try:
        builder.ComponentsToReplace.Add(component)
        builder.ReplacementPart = new_part_path
        builder.MaintainRelationships = True    # documented default
        builder.ReplaceAllOccurrences = False   # the rule decides per occurrence
        builder.ComponentNameType = RCB.ComponentNameOption.Maintain
        builder.SetComponentReferenceSetType(RCB.ComponentReferenceSet.Maintain, None)
        load_status = builder.RegisterReplacePartLoadStatus()
        builder.Commit()
        for i in range(load_status.NumberUnloadedParts):
            lw.WriteLine("Not loaded: " + load_status.GetPartName(i)
                         + " (" + load_status.GetStatusDescription(i) + ")")
        load_status.Dispose()
        errors = builder.GetErrorList()
        for i in range(errors.Length):
            info = errors.GetErrorInfo(i)
            lw.WriteLine("Replace failed: " + info.ErrorObjectDescription
                         + " (" + info.Description + ")")
        errors.Dispose()
    finally:
        builder.Destroy()

def unsolved_constraints():
    solved = NXOpen.Positioning.Constraint.SolverStatus.Solved
    constraints = work_part.ComponentAssembly.Positioner.Constraints.ToArray()
    return [c for c in constraints if c.GetConstraintStatus() != solved]

def execute(plan):
    # plan = [(component, replacement part path), ...] as confirmed in the preview
    mark = session.SetUndoMark(NXOpen.Session.MarkVisibility.Visible,
                               "Rule-based replacement")
    for component, new_part_path in plan:
        replace_one(component, new_part_path)
    for c in unsolved_constraints():
        lw.WriteLine(c.JournalIdentifier + ": " + str(c.GetConstraintStatus()))
    return mark  # rejected run: session.UndoToMark(mark, None)

GetErrorList (adăugat în NX 8.0.2) prinde înlocuirile care eșuează complet; starea solverului, una dintre cele 19 stări din referința 1926, prinde cazul mai discret în care înlocuirea a funcționat, dar o constrângere și-a pierdut referința. Positioner-ul conține constrângerile proprii ale piesei de lucru (work part), așa că constrângerile unui subansamblu se verifică având acel subansamblu ca piesă de lucru.

Acesta rulează ca un POC. Ce lipsește pentru producție: un tabel de reguli aprobat de responsabilii de proiectare, o bibliotecă de piese cu descendență consecventă din șablon și geometrie de interfață denumită, și un jurnal de rulare pe care administratorul CAD îl poate audita. Închidem distanța dintre „înlocuirea a funcționat pe ansamblul meu de test” și „înlocuirea rulează pe întreaga linie de produse” prin automatizare a fluxurilor de lucru NX: mai întâi reguli deterministe, on-premise acolo unde datele dumneavoastră o cer.

Proiectarea pieselor astfel încât înlocuirea să păstreze constrângerile

Constrângerile supraviețuiesc înlocuirii când fiecare piesă candidată conține geometria referențiată sub aceeași identitate. Este o problemă de proiectare a bibliotecii pe care o rezolvați o singură dată și care aduce beneficii și la înlocuirile manuale. Ce includem într-un standard de familie înainte de automatizare:

  1. Un șablon pentru fiecare familie interschimbabilă. Piesele din același șablon au același UID, așa că NX le tratează ca versiuni.
  2. Geometrie de interfață denumită. Pentru piese de la furnizori sau piese legacy, numele de obiect identice pe fețele și muchiile referențiate sunt modul documentat de a transfera constrângerile (de exemplu PORT_FACE, PORT_AXIS).
  3. Constrângeri pe geometria funcțională, niciodată pe elemente decorative. Fețe de asamblare, axe de alezaj și baze de referință pe care le are fiecare variantă; niciodată o teșitură sau o racordare.
  4. Interfețe de produs (Product Interfaces). Un Product Interface declară fețele destinate asamblării și poate restricționa selecția constrângerilor la acestea. Avertismentul Siemens: dacă redirecționați o interfață către alt obiect, geometria legată se actualizează, constrângerile de ansamblu nu.
  5. Reference Sets consecvente. Reference Set-ul automat Model nu colectează baze de referință sau curbe. Păstrați bazele de referință ale interfeței (sau un întreg Datum CSYS) într-un set definit de utilizator pe care fiecare variantă îl conține sub același nume și înlocuiți cu Reference Set = Maintain.

Când înlocuirea tot eșuează, cauza este aproape întotdeauna una dintre următoarele:

Cauza eșecului Simptom după înlocuire Prevenire
Piesă fără legătură, geometrie referențiată fără numeAvertisment „nu este o revizie”; constrângeri netransferateAcelași șablon pentru familie sau nume de obiect identice
Fața referențiată lipsește de pe piesa nouăConstrângere marcată pentru geometrie ștearsă sau suprimată și ignoratăConstrângeți doar la fețe, axe și baze de referință pe care le are fiecare variantă
Fața există, dar are tip sau dimensiune greșităConstrângerea nu se poate rezolva; la Fit, razele sau unghiurile conului diferăFixați tipurile geometriei de interfață în standard; verificare prealabilă
Geometria nouă face ca vechile constrângeri să se contrazicăEroare: conflict cu alte constrângeriEliminați constrângerile redundante înainte de rulările în masă
Părintele WAVE înlocuit cu o piesă care nu este versiuneFeature-ul legat afișează BrokenReatribuiți cu Replacement Assistant sau legați prin Product Interfaces
Replace All Occurrences într-un ansamblu mixtSunt înlocuite instanțe pe care regula ar trebui să le omităÎnlocuiți per instanță
Model de furnizor fațetatGeometrie indisponibilă pentru constrângeriSolicitați geometrie B-rep

Dacă am putea remedia un singur lucru înainte de automatizare, acesta ar fi descendența din șablon. Numele și interfețele ajută, dar de descendență leagă documentația Siemens în mod explicit păstrarea constrângerilor și a legăturilor WAVE. Piesele migrate fără istoric nu au nicio descendență; reconstruirea lor din STEP pe șablonul clasei de piese este momentul potrivit pentru a le-o da.


Întrebări frecvente

Păstrează NX Replace Component constrângerile de ansamblu?

Da, atunci când Maintain Relationships este activat, piesa nouă este o versiune a celei vechi (același UID prin Save As sau același șablon) și conține în continuare geometria referențiată. Pentru piese fără legătură, constrângerile se transferă doar acolo unde fețele sau muchiile referențiate au nume de obiect identice în ambele piese. Geometria lipsă sau modificată lasă constrângerea nerezolvată și marcată.

Replace Component sau ștergerea și readăugarea piesei: care este diferența?

Replace Component păstrează ce poate: transformarea, atributele și, pentru versiuni, și constrângerile, legăturile WAVE, expresiile interpart, vederile de desen și PMI. Ștergerea și readăugarea nu păstrează nimic din toate acestea. Pentru orice element deja constrâns sau referențiat de un desen, folosiți înlocuirea.

De ce avertizează NX că componenta de înlocuire nu este o revizie?

Piesa nouă nu a fost creată din același șablon și nu descinde din aceeași piesă goală, deci UID-ul ei diferă. NX o înlocuiește totuși, dar păstrează doar setul mai restrâns de relații pentru piese fără legătură, cu excepția cazului în care geometria referențiată are nume identice.

Cât costă înlocuirea automată a componentelor pe bază de reguli?

Depinde mai puțin de NXOpen și mai mult de datele dumneavoastră: câte reguli există, dacă ghidul de proiectare este documentat în scris și dacă biblioteca are șabloane consecvente și geometrie de interfață denumită. Îl structurăm ca un proof of value delimitat, pe o singură familie de ansambluri, astfel încât efortul să fie măsurat pe piesele dumneavoastră înainte de orice decizie de rollout.

Pot automatiza NX Replace Component cu NXOpen?

Da. AssemblyManager.CreateReplaceComponentBuilder returnează un ReplaceComponentBuilder cu opțiunile dialogului ca proprietăți. Setați mai întâi un marcaj de undo, apoi citiți GetErrorList și starea solverului pentru fiecare constrângere după Commit.


Pasul următor

Aveți o carcasă, o familie de supape și un ghid care spune ce se potrivește cu ce? Un apel gratuit de 60 de minute cu inginerii NX de la inteliScience verifică dacă biblioteca dumneavoastră de piese este pregătită pentru înlocuirea pe bază de reguli. Programați un apel de strategie despre înlocuirea componentelor pe bază de reguli



Referințe

  1. Siemens NX 2306 help, “Replace Component”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id665941/id666126/comp_substitute.html (accesat la 29 septembrie 2026)
  2. Siemens NX 2306 help, “Replace Component dialog box”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id665941/id666126/comp_replace_op.html (accesat la 29 septembrie 2026)
  3. Siemens NX 2306 help, “Maintaining relationships while replacing a component”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id665941/id666126/comp_replace_maintain_rel_rt.html (accesat la 29 septembrie 2026)
  4. Siemens NX 2306 help, “Replace a component with a related component”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id665941/id666126/comp_replace_ht.html (accesat la 29 septembrie 2026)
  5. Siemens NX 2306 help, “Replace a component with an unrelated component”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id665941/id666126/xid385653.html (accesat la 29 septembrie 2026)
  6. Siemens NX 2306 help, “Replace Component and part family members”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id665941/id666126/comp_replace_partfamily_rt.html (accesat la 29 septembrie 2026)
  7. Siemens NX 2306 help, “Unsolved assembly constraints icons”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id666286/id666351/id1201557/func_details_unsolved_constraints_op.html (accesat la 29 septembrie 2026)
  8. Siemens NX 2306 help, “Resolve assembly constraint issues using the Constraint Navigator”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id666286/id666351/id1267687/id1267739.html (accesat la 29 septembrie 2026)
  9. Siemens NX 2306 help, “Broken and inactive WAVE links”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id668786/id742403/id670066/id670031/wave_geo_link_broken_links_rt.html (accesat la 29 septembrie 2026)
  10. Siemens NX 2306 help, “Replace a parent part for WAVE-linked geometry”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id668786/id742403/id670066/id670031/wave_geo_link_edit_rep_parent_ht.html (accesat la 29 septembrie 2026)
  11. Siemens NX 2306 help, “Product Interfaces”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id668786/id742405/product_interface_ov.html (accesat la 29 septembrie 2026)
  12. Siemens NX 2306 help, “Reference sets” and “Model reference set”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id668331/reference_sets_ov.html and https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id668331/id668266/reference_sets_model_ov.html (accesat la 29 septembrie 2026)
  13. Siemens NX 2306 help, “Tips for working with assembly constraints and joints”: https://docs.sw.siemens.com/documentation/external/PL20221117716122093/en-US/nx_help/nx/2306/nx_help/en-US/assemblies/id666286/id666351/assy_constraints_notes.html (accesat la 29 septembrie 2026)
  14. Siemens NXOpen .NET Reference Guide (1926), NXOpen.Assemblies.ReplaceComponentBuilder: https://docs.sw.siemens.com/documentation/external/PL20191127135844554/en-US/nx_api_sc/nx/1926/nx_api_sc/en_US/nxopen_net/a00956.html (accesat la 29 septembrie 2026)
  15. Siemens NXOpen .NET Reference Guide (1926), NXOpen.Assemblies.AssemblyManager: https://docs.sw.siemens.com/documentation/external/PL20191127135844554/en-US/nx_api_sc/nx/1926/nx_api_sc/en_US/nxopen_net/a00891.html (accesat la 29 septembrie 2026)
  16. Siemens NXOpen .NET Reference Guide (1926), NXOpen.Positioning.Constraint (SolverStatus): https://docs.sw.siemens.com/documentation/external/PL20191127135844554/en-US/nx_api_sc/nx/1926/nx_api_sc/en_US/nxopen_net/a07180.html (accesat la 29 septembrie 2026)
  17. Siemens NXOpen .NET Reference Guide (1926), NXOpen.Session (undo marks): https://docs.sw.siemens.com/documentation/external/PL20191127135844554/en-US/nx_api_sc/nx/1926/nx_api_sc/en_US/nxopen_net/a07788.html (accesat la 29 septembrie 2026)
  18. Siemens Designcenter blog, “Designcenter | Tips and Tricks | Assemblies and Magnetic Snap”, 17 iulie 2026: https://blogs.sw.siemens.com/designcenter/nx-tips-and-tricks-magnetic-snap/ (accesat la 29 septembrie 2026)
  19. Siemens Designcenter blog, “Designcenter is for everyone | June 2026 release”, 23 iunie 2026: https://blogs.sw.siemens.com/designcenter/designcenter-is-for-everyone-june-2026-release/ (accesat la 29 septembrie 2026)
  20. Siemens resources, “Welcome to the September 2026 Early Access Program for Designcenter” (Designcenter 2612): https://resources.sw.siemens.com/en-US/presentation-welcome-to-designcenter-early-access-program/ (accesat la 29 septembrie 2026)