NXKnowledge

NX Open C++ Reference Guide > Namespaces > NXOpen::Assemblies

NXOpen::Assemblies Namespace Reference (C++)

Documented purpose (implicit from class set): assembly structure, components, patterns, arrangements, explosions, and clearance analysis. 86 classes in the NX 2212 C++ reference. Below are the core structural classes every assembly-facing NX Open program touches, plus a map of the surrounding builder/utility classes by theme.

Core object model

Class Description
Assembly Assembly class. This is an abstract class, and cannot be instantiated.
ComponentAssembly Represents the set of NXOpen::Assemblies::Components that make up an assembly.
Component Represents a component in a NXOpen::Assemblies::ComponentAssembly.
AssemblyManager Represents the Assembly Manager. To obtain an instance of this class, refer to NXOpen::BasePart. Created in NX6.0.0.
ComponentOrder Represents an order object that stores the order of child Components in context of a parent ComponentAssembly.
ComponentGroup Represents a Component Group that is defined within an Assembly.
ComponentGroupCollection Collection type for ComponentGroup.
Arrangement Manages the suppression of Components within a ComponentAssembly (NX's "arrangements" feature — alternate suppression states of the same assembly structure, e.g. for different configurations).
ArrangementCollection Collection type for Arrangement.
ComponentPattern Represents the component pattern class (patterned/arrayed components in an assembly).
ComponentPatternCollection Collection type for ComponentPattern.

How they relate

  • A Part that is an assembly exposes its structure through ComponentAssembly (reached from the part, mirroring how Part exposes Features via FeatureCollection in the root namespace) — this is the set of Component objects (each Component = one instance of a child part placed/positioned within the parent).
  • AssemblyManager (obtained from BasePart) is the higher-level services object for assembly-wide operations (interpart operations, WAVE-linking helpers, etc. — see the *Builder classes below).
  • ComponentOrder tracks the order of children in the assembly tree (display/traversal order), separate from the parent-child structure itself.
  • Arrangement is NX's mechanism for saving alternate suppression states of the same assembly (e.g. "shipping configuration" vs. "service configuration") without duplicating the structure.
  • ComponentGroup / ComponentPattern support grouping and patterning components — e.g. patterning a bolt+washer sub-assembly around a bolt circle.

Builder classes by theme (selected, from the 86-class set)

The namespace follows the same Builder pattern documented in features-namespace.md. Notable groups seen in the class list:

  • Adding/creating components: AddComponentBuilder, CreateComponentBuilder, CreateNewComponentBuilder.
  • Positioning: AbsolutePositionBuilder (works alongside NXOpen::Positioning — see positioning-namespace.md).
  • Patterning/arranging: ComponentPatternBuilder, ArrangementsBuilder.
  • Visibility/state: HideComponentBuilder.
  • Interpart data & WAVE-style linking: LoadInterpartDataBuilder, MakeUniquePartBuilder, CreateOverridePartBuilder, DeleteOverridePartBuilder, CopyDesignElementBuilder, DesignElementBuilder.
  • Search/query: AttributeSearchTerm (+Builder), BoxSearchTerm (+Builder), ExplicitSearchTerm, GroupSearchTerm, FindInCollaborativeDesign — a family of "search term" classes used to query components/parts across an assembly or Teamcenter collaborative context by attribute, spatial box, or explicit list.
  • Clearance analysis: ClearanceAnalysisBuilder, ClearanceSet, ClearanceSetCollection — programmatic access to NX's assembly clearance/interference analysis.
  • Explosions: DrawingExplosion (+Collection), Explosion (+Collection), ExplodedComponent — assembly explosion views (used for documentation/drawings).
  • General/parameter properties: AssembliesGeneralPropertiesBuilder, AssembliesParameterPropertiesBuilder — programmatic access to the Assembly Properties dialogs.
  • Constraint display: ConstraintDisplayBuilder — controls how constraints (from NXOpen::Positioning) are shown for an assembly.

Cross-reference

ComponentAssembly::CreateConstraintGroupBuilder is the documented bridge into NXOpen::Positioning::ComponentConstraintGroupBuilder — see positioning-namespace.md for the constraint side of assembly modeling.

Source: https://docs.sw.siemens.com/en-US/doc/209349590/PL20220512394070742.nx_open_c_plus_plus_ref · retrieved 2026-07-07