NXKnowledge

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

NXOpen::Positioning Namespace Reference (C++)

Documented purpose: "Provides classes and interfaces for Assembly Positioning and Constraints."

Unlike NXOpen::Features, this namespace is small and fully enumerable — 13 classes in the NX 2212 C++ reference. It covers both assembly component constraints and (via the shared Constraint/Network base classes) sketch-style positioning constraints used elsewhere in the API.

Full class list

Class Description
ComponentConstraint Constraint for use in positioning assembly objects in NX.
ComponentConstraintGroup Constraint group which represents a group of component constraints in NX.
ComponentConstraintGroupBuilder Represents a NXOpen::Positioning::ComponentConstraintGroupBuilder builder. To create a new instance of this class, use NXOpen::Assemblies::ComponentAssembly::CreateConstraintGroupBuilder. Has default values.
ComponentNetwork Network for use in positioning components in NX.
ComponentPositioner An instance of this class can be used to create NXOpen::Positioning::Constraints and associated objects.
Constraint Constraints for use in positioning objects in NX.
ConstraintCollection A collection of constraints. To obtain an instance of this class, refer to NXOpen::Positioning::Positioner. Created in NX5.0.0.
ConstraintReference ConstraintReference for use in positioning objects in NX.
DisplayedConstraint The displayed representation of a constraint, used for graphical display and to represent it in the Assembly Navigator.
DisplayedConstraintCollection A collection of displayed constraints. To obtain an instance of this class, refer to NXOpen::Part. Created in NX7.5.0.
MatingConverter An instance of this class can be used to convert Mating Conditions to Assembly Constraints in its owning assembly or in child parts of its owning assembly.
Network Network for use in positioning objects in NX.
Positioner An instance of this class can be used to create NXOpen::Positioning::Constraints and associated objects.

How the pieces fit together

  • Positioner / ComponentPositioner are the factory/manager objects — each can create Constraints and their associated objects. Which one you use depends on context: ComponentPositioner for assembly component positioning; Positioner for the more general positioning case (e.g. sketch or non-assembly constraint contexts) — both share the identical one-line description in the Doxygen source, underlining that they're parallel entry points into the same constraint-creation API surface.
  • Constraint is the base representation of a single constraint; ComponentConstraint is the assembly-specific specialization used when positioning components relative to each other (mate, align, distance, angle, etc., surfaced via NX's Assembly Constraints dialog).
  • ComponentConstraintGroup groups multiple ComponentConstraints together (e.g. everything applied to position one component), and is built via ComponentConstraintGroupBuilder — obtained specifically from NXOpen::Assemblies::ComponentAssembly::CreateConstraintGroupBuilder, tying this namespace directly to NXOpen::Assemblies.
  • Network / ComponentNetwork represent the graph/network of constraints and the objects they relate — used internally to resolve and solve the constraint system.
  • ConstraintCollection (obtained from Positioner) and DisplayedConstraintCollection (obtained from Part) are the two collection types: the former for the underlying constraint objects, the latter specifically for their graphical/Assembly-Navigator display representation (DisplayedConstraint).
  • ConstraintReference represents a reference (typically a geometric/face/edge reference) used by a constraint to define what it constrains.
  • MatingConverter is a migration/compatibility utility: it converts legacy "Mating Conditions" (an older NX assembly positioning mechanism) into modern Assembly Constraints, for the owning assembly or its child parts.

Cross-reference

This namespace is the constraint engine behind two very different NX Open consumers: assembly positioning (see assemblies-namespace.md in this folder — ComponentAssembly::CreateConstraintGroupBuilder) and, more generally, any NX Open code that needs to read or drive geometric constraints programmatically.

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