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 someTaggedObjectclasses represent non-persistent entities. Defining trait: has aTagusable 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. ItsDisposemethod must be called to release it. Garbage-collected languages callDisposeautomatically; 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.
CurveCollectioncreates new curves). Used to enumerate all objects of a type in a part, e.g. all curves:
See "Accessing Bodies, Faces, and Edges" for more on collections.Dim curve As NXOpen.Curve For Each curve In part.Curves ... Next - Session and UI — The "gateway" classes for the API; all other object references are obtained directly or indirectly through them.
UIis only usable when the program runs inside the NX user interface (not usable in Batch mode). - Part — Represents an NX part. Contains many
TaggedObjectCollectionmembers for obtaining/creating tagged objects, e.g.Part.Features(a collection of all features in the part) can yieldFeatureBuilderobjects for creating or editing features. - Builder — Features and many other entities are created/edited through a
Builderclass. 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. CallCommitto create the entity or apply edits, andDestroywhen finished with the builder.
Browsing classes through an IDE
- Visual Studio: after referencing
NXOpen.dllorNXOpenUI.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)