NXKnowledge

NX Open Programmer's Guide > About NX Open > Available Toolkits

Available Toolkits

Many software toolkits exist for NX and other Siemens Digital Industries Software products. "NX Open" specifically refers to the procedural APIs that work directly with the NX Object Model. Each API supports a specific language; a set of newer languages share a common object model (the Common API), while three older APIs are collectively the legacy/Classic APIs. Any publicly-visible but undocumented NX Open API is for NX's internal use only. This Programmer's Guide focuses on the Common APIs; legacy guides remain available for the Classic APIs.

Common API

NX requires developers to expose new features/functions to a common object model, enabling automatic generation of multiple language bindings — all Common API languages share the same objects, properties, methods, and class hierarchy. Advantages over the Classic API architecture:

  • All Common API languages are equal in NX capability — pick an implementation language freely without missing functionality.
  • New NX features/functions are available for automation immediately (no lag behind interactive capability).
  • Same object model used internally by NX developers.

Common API language bindings:

  • NX Open for .NET — uses Microsoft's .NET framework; supports any .NET-compliant language (VB.NET, C#); full Visual Studio IDE and native Windows dialog tooling. Best if Windows is the platform of choice.
  • NX Open for Java — uses Oracle's Java platform; platform independence, large class library, AWT/Swing for portable dialogs, RMI for client/server apps, free IDEs like Eclipse. Best for multi-platform client/server applications.
  • NX Open for C++ — C++ interface to NX, compatible with Open C and Open C++ APIs. Best for enhancing existing C/C++ applications.
  • NX Open for Python — Python interface to NX; object-oriented/reflective, smaller syntax, many scientific/numeric extension packages. Journals may be replayed on Windows only; no remoting API provided.

Journaling

Not a toolkit itself, but a rapid automation tool that records, edits, and replays interactive NX sessions. Built on the Common API, it produces a scripted file from an interactive NX session that can be replayed later, then edited/enhanced with programming constructs and UI components. Journal replay is currently limited to C#, Python, and Visual Basic .NET, though recording can use any Common API language. Included with every NX seat. See NX Help: Fundamentals → Recording NX Sessions.

Classic APIs

Predate the Common API; still maintained but no longer actively enhanced.

  • Open C — direct C programming interface to NX; over 5,000 functions ("User Functions", naming convention UF_<application area>_<function>, e.g. UF_MODL_create_plane()), giving programs called UFUNC/UF programs. Provides a fully extensible data model for persistent custom object types. .NET/Java/Python wrappers exist for Open C coverage (NX Open C++ can call Open C/Open C++ directly, no wrapper needed).
  • Open C++ — first object-oriented interface to NX; full inheritance/encapsulation/polymorphism, complete class hierarchy access, allows overriding methods and creating new persistent NX object types. Fully compatible with Open C.
  • NX Open GRIP (Graphics Interactive Programming) — intermediate scripting language for automating CAD/CAM/CAE tasks: NC operations, geometric/drafting objects, system parameters, file management, geometry modification.

Knowledge Driven Automation

  • Knowledge Fusion (KF) — interpreted, object-oriented, declarative language embedded in NX for encoding engineering knowledge as rules (order-independent; the KF rule engine determines firing sequence from rule dependencies). Can access external knowledge bases (databases, spreadsheets) and interface with other applications (analysis/optimization packages). Ideal for associative, persistent objects that participate in model update.

Other NX Toolkits

  • Block Styler (UI Styler) — visual UI builder for portable NX "block" style dialogs, used internally by NX developers and externally by users/third parties. Runs within NX; produces dialog definition files auto-loaded by NX with event callbacks. Ideal for multi-platform apps wanting NX look and feel.
  • MenuScript — text language/tool for creating and editing NX menus; customizes the main menu bar and Quick View Popup menu, or adds items to launch Block Styler dialogs. Available with all NX seats.
  • Open User Interface Styler (UI Styler) — visual UI builder maintaining dialogs created before NX adopted Block-based dialogs; new dialogs should use Block Styler instead.

Other Siemens Digital Industries Software Toolkits

  • Parasolid — the geometric modeling kernel used by NX; industry-standard solid modeling engine for CAD/CAM/CAE. Its API suits programs interfacing with third-party apps that produce Parasolid models.
  • Teamcenter Engineering Integration Tool Kit (ITK) — functions/utilities for customizing Teamcenter (client-server architecture) for organization-specific data management; ideal for apps that must directly interact with Teamcenter to automate saving/retrieving product data from NX and other applications.

Related Topics

  • What Is NX Open
  • Journals and Applications

Source: https://docs.sw.siemens.com/en-US/doc/209349590/PL20220512394070742.nxopen_prog_guide/available_toolkits · retrieved Tue Jul 07 2026 00:00:00 GMT+0000 (Coordinated Universal Time)