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/ComponentPositionerare the factory/manager objects — each can createConstraints and their associated objects. Which one you use depends on context:ComponentPositionerfor assembly component positioning;Positionerfor 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.Constraintis the base representation of a single constraint;ComponentConstraintis the assembly-specific specialization used when positioning components relative to each other (mate, align, distance, angle, etc., surfaced via NX's Assembly Constraints dialog).ComponentConstraintGroupgroups multipleComponentConstraints together (e.g. everything applied to position one component), and is built viaComponentConstraintGroupBuilder— obtained specifically fromNXOpen::Assemblies::ComponentAssembly::CreateConstraintGroupBuilder, tying this namespace directly toNXOpen::Assemblies.Network/ComponentNetworkrepresent the graph/network of constraints and the objects they relate — used internally to resolve and solve the constraint system.ConstraintCollection(obtained fromPositioner) andDisplayedConstraintCollection(obtained fromPart) are the two collection types: the former for the underlying constraint objects, the latter specifically for their graphical/Assembly-Navigator display representation (DisplayedConstraint).ConstraintReferencerepresents a reference (typically a geometric/face/edge reference) used by a constraint to define what it constrains.MatingConverteris 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