NXKnowledge

NX Open Programmer's Guide > Common Object Model > Common Object Model

Common Object Model

Overview of the most important class types found in the NX Open API. Full detail is in the NX Open API Reference for each language; the object model itself is identical across all NX Open languages. Classes are organized into namespaces by application area.

NX Open classes

  • TaggedObject — Base class for any class representing entities in the NX model (e.g. Line, Extrude). Represents persistent entities (saved with the part), though some TaggedObject classes represent non-persistent entities. Defining trait: has a Tag usable to interoperate with the UF API.
  • NXObject — Inherits from TaggedObject. Adds methods/properties for getting and setting names and attributes on the entity.
  • TransientObject — Represents something without a Tag, not saved with the part. Its Dispose method must be called to release it. Garbage-collected languages call Dispose automatically; in C++ it must be called explicitly.
  • TaggedObjectCollection — Base class for collections of tagged objects; typically also has methods to create new tagged objects (e.g. CurveCollection creates new curves). Used to enumerate all objects of a type in a part, e.g. all curves:
    Dim curve As NXOpen.Curve
    For Each curve In part.Curves
       ...
    Next
    
    See "Accessing Bodies, Faces, and Edges" for more on collections.
  • Session and UI — The "gateway" classes for the API; all other object references are obtained directly or indirectly through them. UI is only usable when the program runs inside the NX user interface (not usable in Batch mode).
  • Part — Represents an NX part. Contains many TaggedObjectCollection members for obtaining/creating tagged objects, e.g. Part.Features (a collection of all features in the part) can yield FeatureBuilder objects for creating or editing features.
  • Builder — Features and many other entities are created/edited through a Builder class. Builders expose methods (or .NET properties) to get/set the defining data for the entity, generally mirroring the corresponding UI command's input data; builders can also be queried. Call Commit to create the entity or apply edits, and Destroy when finished with the builder.

Browsing classes through an IDE

  • Visual Studio: after referencing NXOpen.dll or NXOpenUI.dll, use the Object Browser to browse NX Open classes/documentation; IntelliSense works with NX Open classes.
  • Eclipse: after referencing NXOpen.jar, use Eclipse's class browser and "content assist" (Eclipse's IntelliSense equivalent).

Refer to your IDE's own documentation for further detail.

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