NX Open C++ Reference Guide
Public Types | Public Member Functions | List of all members
NXOpen::Positioning::Constraint Class Reference

Constraints for use in positioning objects in NX. More...

Inheritance diagram for NXOpen::Positioning::Constraint:
NXOpen::NXObject NXOpen::TaggedObject NXOpen::INXObject NXOpen::Positioning::ComponentConstraint

Public Types

enum  Alignment { AlignmentInferAlign, AlignmentCoAlign, AlignmentContraAlign }
 Specifies alignment of directed geometries used in a constraint. More...
 
enum  SolverStatus {
  SolverStatusNewlyCreated, SolverStatusSuppressed, SolverStatusOutOfDate, SolverStatusOverConstrained,
  SolverStatusNotConsistentDims, SolverStatusNotConsistentOther, SolverStatusNotConsistentUnknown, SolverStatusBetweenFixed,
  SolverStatusNotSolved, SolverStatusSolved, SolverStatusCannotSolve, SolverStatusDelayed,
  SolverStatusIgnoredInArrangement, SolverStatusInternallyInconsistent, SolverStatusUnloadedGeometry, SolverStatusPendingConvertedMc,
  SolverStatusConflictingWithWave, SolverStatusInconsistentLimits, SolverStatusBeyondLimits
}
 Specifies the status of a constraint. More...
 
enum  SplineType { SplineTypeByPoles, SplineTypeByPoints, SplineTypeInvalid }
 Specifies how the spline points define the shape of the spline. More...
 
enum  Type {
  TypeUndefined, TypeTouch, TypeConcentric, TypeFix,
  TypeDistance, TypeParallel, TypePerpendicular, TypeCenter12,
  TypeCenter22, TypeAngle, TypeFit, TypeBond,
  TypeOrientAngle, TypeSplineData, TypeSplineLength, TypeLinearPattern,
  TypeCircularPattern, TypeLinear2dPattern, TypeRadiantPattern, TypeAlignLock,
  TypeCommonOffsetTransform, TypeHinge, TypeSlider, TypeCylindrical,
  TypeBall, TypeScrew, TypeGear, TypeRackPinion,
  TypeCable
}
 Specifies the type of a constraint. More...
 
- Public Types inherited from NXOpen::NXObject
enum  AttributeType {
  AttributeTypeInvalid, AttributeTypeNull, AttributeTypeBoolean, AttributeTypeInteger,
  AttributeTypeReal, AttributeTypeString, AttributeTypeTime, AttributeTypeReference,
  AttributeTypeAny = 100
}
 Specifies attribute type. More...
 
enum  DateAndTimeFormat { DateAndTimeFormatNumeric, DateAndTimeFormatTextual }
 Specifies the format of the date and time attribute. More...
 

Public Member Functions

bool Automatic ()
 Returns the flag marking the constraint as an "automatic" constraint. More...
 
NXOpen::Positioning::Constraint::Alignment ConstraintAlignment ()
 Returns the alignment behavior for the constraint. More...
 
NXOpen::Positioning::Constraint::Type ConstraintType ()
 Returns the constraint type. More...
 
NXOpen::Positioning::ConstraintReferenceCreateConstraintReference (NXOpen::NXObject *movableObject, NXOpen::NXObject *geometry, bool usesAxis, bool isIndirect)
 Adds geometry to a constraint and sets the movable object to be constrained. More...
 
NXOpen::Positioning::ConstraintReferenceCreateConstraintReference (NXOpen::NXObject *movableObject, NXOpen::NXObject *geometry, bool usesAxis, bool isIndirect, bool usePortRotate)
 Adds geometry to a constraint and sets the movable object to be constrained. More...
 
void DeleteConstraintReference (NXOpen::Positioning::ConstraintReference *constraintReference)
 Removes a NXOpen::Positioning::ConstraintReference from the constraint. More...
 
void EditConstraintReference (NXOpen::Positioning::ConstraintReference *constraintReference, NXOpen::NXObject *movableObject, NXOpen::NXObject *geometry, bool usesAxis, bool isIndirect, bool usePortRotate)
 Adds geometry to a constraint and sets the movable object to be constrained, replacing the properties of an existing reference of the constraint. More...
 
NXOpen::ExpressionExpression ()
 Returns the NXOpen::Expression of a constraint. More...
 
bool ExpressionDriven ()
 Returns the driven state of the expression of a constraint. More...
 
void FlipAlignment ()
 Reverses the constraint alignment if this is possible. More...
 
void GenerateConversionReport (std::vector< NXString > &lines)
 Returns a textual conversion report this constraint from when it was converted from a Mating Constraint to an Assembly Constraint. More...
 
NXOpen::Positioning::Constraint::SolverStatus GetConstraintStatus ()
 Returns the solver status of a constraint. More...
 
NXOpen::Positioning::DisplayedConstraintGetDisplayedConstraint ()
 Gets the NXOpen::Positioning::DisplayedConstraint that is in the same part as that of the constraint. More...
 
std::vector
< NXOpen::Positioning::ConstraintReference * > 
GetReferences ()
 Gets all the NXOpen::Positioning::ConstraintReference s for the constraint. More...
 
bool LowerLimitEnabled ()
 Returns the lower limit of the expression of a constraint. More...
 
NXOpen::ExpressionLowerLimitExpression ()
 Returns the lower limit of the expression of a constraint. More...
 
NXString LowerLimitRightHandSide ()
 Returns the lower limit of the expression right hand side of a constraint. More...
 
bool Persistent ()
 Returns the persistent state of the constraint. More...
 
void Renew ()
 Changes the constraint to solve with the latest version of the constraint code. More...
 
void ReverseDirection ()
 Reverses the constraint direction. More...
 
void SetAlignmentHint (NXOpen::Positioning::Constraint::Alignment alignment)
 Set a hint as to which alignment should be used by the solver for this constraint. More...
 
void SetAutomatic (bool isauto)
 Sets the flag marking the constraint as an "automatic" constraint. More...
 
void SetConstraintAlignment (NXOpen::Positioning::Constraint::Alignment alignment)
 Sets the alignment behavior for the constraint. More...
 
void SetConstraintType (NXOpen::Positioning::Constraint::Type constraintType)
 Sets the constraint type. More...
 
void SetExpression (const NXString &expression)
 The NXOpen::Expression of a constraint - only for distance or angle constraints. More...
 
void SetExpression (const char *expression)
 The NXOpen::Expression of a constraint - only for distance or angle constraints. More...
 
void SetExpressionDriven (bool expressionDriven)
 Sets the driven state of the expression of a constraint. More...
 
void SetLowerLimitEnabled (bool hasLimit)
 Sets the lower limit of the expression of a constraint. More...
 
void SetLowerLimitRightHandSide (const NXString &limitRightHandSide)
 Sets the lower limit of the expression right hand side of a constraint. More...
 
void SetLowerLimitRightHandSide (const char *limitRightHandSide)
 Sets the lower limit of the expression right hand side of a constraint. More...
 
void SetPersistent (bool persistent)
 Sets the persistent state of the constraint. More...
 
void SetSplinePointsType (NXOpen::Positioning::Constraint::SplineType splineType)
 Sets the type of the spline. More...
 
void SetSuppressed (bool suppressed)
 Sets the suppression state for the constraint. More...
 
void SetUpperLimitEnabled (bool hasLimit)
 Sets the upper limit of the expression of a constraint. More...
 
void SetUpperLimitRightHandSide (const NXString &limitRightHandSide)
 Sets the upper limit of the expression right hand side of a constraint. More...
 
void SetUpperLimitRightHandSide (const char *limitRightHandSide)
 Sets the upper limit of the expression right hand side of a constraint. More...
 
NXOpen::Positioning::Constraint::SplineType SplinePointsType ()
 Returns the type of the spline. More...
 
bool Suppressed ()
 Returns the suppression state for the constraint. More...
 
bool UpperLimitEnabled ()
 Returns the upper limit of the expression of a constraint. More...
 
NXOpen::ExpressionUpperLimitExpression ()
 Returns the upper limit of the expression of a constraint. More...
 
NXString UpperLimitRightHandSide ()
 Returns the upper limit of the expression right hand side of a constraint. More...
 
- Public Member Functions inherited from NXOpen::NXObject
NXOpen::AttributeIteratorCreateAttributeIterator ()
 Create an attribute iterator. More...
 
void DeleteAllAttributesByType (NXOpen::NXObject::AttributeType type)
 Deletes all attributes of a specific type. More...
 
void DeleteAllAttributesByType (NXOpen::NXObject::AttributeType type, NXOpen::Update::Option option)
 Deletes all attributes of a specific type with the option to update or not. More...
 
void DeleteAttributeByTypeAndTitle (NXOpen::NXObject::AttributeType type, const NXString &title)
 Deletes an attribute by type and title. More...
 
void DeleteAttributeByTypeAndTitle (NXOpen::NXObject::AttributeType type, const char *title)
 Deletes an attribute by type and title. More...
 
void DeleteAttributeByTypeAndTitle (NXOpen::NXObject::AttributeType type, const NXString &title, NXOpen::Update::Option option)
 Deletes an attribute by type and title with the option to update or not. More...
 
void DeleteAttributeByTypeAndTitle (NXOpen::NXObject::AttributeType type, const char *title, NXOpen::Update::Option option)
 Deletes an attribute by type and title with the option to update or not. More...
 
void DeleteUserAttribute (NXOpen::NXObject::AttributeType type, const NXString &title, bool deleteEntireArray, NXOpen::Update::Option option)
 Deletes the first attribute encountered with the given Type, Title. More...
 
void DeleteUserAttribute (NXOpen::NXObject::AttributeType type, const char *title, bool deleteEntireArray, NXOpen::Update::Option option)
 Deletes the first attribute encountered with the given Type, Title. More...
 
void DeleteUserAttributes (NXOpen::AttributeIterator *iterator, NXOpen::Update::Option option)
 Deletes the attributes on the object, if any, that satisfy the given iterator
Created in NX8.0.0. More...
 
void DeleteUserAttributes (NXOpen::NXObject::AttributeType type, NXOpen::Update::Option option)
 Deletes the attributes encountered with the given Type with option to update or not. More...
 
virtual NXOpen::INXObjectFindObject (const NXString &journalIdentifier)
 Finds the NXOpen::NXObject with the given identifier as recorded in a journal. More...
 
virtual NXOpen::INXObjectFindObject (const char *journalIdentifier)
 Finds the NXOpen::NXObject with the given identifier as recorded in a journal. More...
 
std::vector
< NXOpen::NXObject::AttributeInformation
GetAttributeTitlesByType (NXOpen::NXObject::AttributeType type)
 Gets all the attribute titles of a specific type. More...
 
bool GetBooleanUserAttribute (const NXString &title, int index)
 Gets a boolean attribute by Title and array Index. More...
 
bool GetBooleanUserAttribute (const char *title, int index)
 Gets a boolean attribute by Title and array Index. More...
 
NXOpen::NXObject::ComputationalTime GetComputationalTimeUserAttribute (const NXString &title, int index)
 Gets a time attribute by Title and array Index. More...
 
NXOpen::NXObject::ComputationalTime GetComputationalTimeUserAttribute (const char *title, int index)
 Gets a time attribute by Title and array Index. More...
 
int GetIntegerAttribute (const NXString &title)
 Gets an integer attribute by title. More...
 
int GetIntegerAttribute (const char *title)
 Gets an integer attribute by title. More...
 
int GetIntegerUserAttribute (const NXString &title, int index)
 Gets an integer attribute by Title and array Index. More...
 
int GetIntegerUserAttribute (const char *title, int index)
 Gets an integer attribute by Title and array Index. More...
 
bool GetNextUserAttribute (NXOpen::AttributeIterator *iterator, NXOpen::NXObject::AttributeInformation *info)
 Gets the next attribute encountered on the object, if any, that satisfies the given iterator. More...
 
NXString GetPdmReferenceAttributeValue (const NXString &attributeTitle)
 Gets the value of PDM Reference attribute for given object. More...
 
NXString GetPdmReferenceAttributeValue (const char *attributeTitle)
 Gets the value of PDM Reference attribute for given object. More...
 
double GetRealAttribute (const NXString &title)
 Gets a real attribute by title. More...
 
double GetRealAttribute (const char *title)
 Gets a real attribute by title. More...
 
double GetRealUserAttribute (const NXString &title, int index)
 Gets a real attribute by Title and array Index. More...
 
double GetRealUserAttribute (const char *title, int index)
 Gets a real attribute by Title and array Index. More...
 
NXString GetReferenceAttribute (const NXString &title)
 Gets the reference string (not the calculated value) of a string attribute that uses a reference string. More...
 
NXString GetReferenceAttribute (const char *title)
 Gets the reference string (not the calculated value) of a string attribute that uses a reference string. More...
 
NXString GetStringAttribute (const NXString &title)
 Gets a string attribute value by title. More...
 
NXString GetStringAttribute (const char *title)
 Gets a string attribute value by title. More...
 
NXString GetStringUserAttribute (const NXString &title, int index)
 Gets a string attribute by Title and array Index. More...
 
NXString GetStringUserAttribute (const char *title, int index)
 Gets a string attribute by Title and array Index. More...
 
NXString GetTimeAttribute (NXOpen::NXObject::DateAndTimeFormat format, const NXString &title)
 Gets a time attribute by title. More...
 
NXString GetTimeAttribute (NXOpen::NXObject::DateAndTimeFormat format, const char *title)
 Gets a time attribute by title. More...
 
NXString GetTimeUserAttribute (const NXString &title, int index)
 Gets a time attribute by Title and array Index. More...
 
NXString GetTimeUserAttribute (const char *title, int index)
 Gets a time attribute by Title and array Index. More...
 
NXOpen::NXObject::AttributeInformation GetUserAttribute (const NXString &title, NXOpen::NXObject::AttributeType type, int index)
 Gets the first attribute encountered on the object, if any, with a given Title, Type and array Index. More...
 
NXOpen::NXObject::AttributeInformation GetUserAttribute (const char *title, NXOpen::NXObject::AttributeType type, int index)
 Gets the first attribute encountered on the object, if any, with a given Title, Type and array Index. More...
 
std::vector
< NXOpen::NXObject::AttributeInformation
GetUserAttribute (const NXString &title, bool includeUnset, bool addStringValues, NXOpen::NXObject::AttributeType type)
 Gets the first attribute (or attribute array) encountered on the object, if any, with a given Title and Type. More...
 
std::vector
< NXOpen::NXObject::AttributeInformation
GetUserAttribute (const char *title, bool includeUnset, bool addStringValues, NXOpen::NXObject::AttributeType type)
 Gets the first attribute (or attribute array) encountered on the object, if any, with a given Title and Type. More...
 
NXString GetUserAttributeAsString (const NXString &title, NXOpen::NXObject::AttributeType type, int index)
 Gets the first attribute encountered on the object, if any, with a given title, type and array index. More...
 
NXString GetUserAttributeAsString (const char *title, NXOpen::NXObject::AttributeType type, int index)
 Gets the first attribute encountered on the object, if any, with a given title, type and array index. More...
 
int GetUserAttributeCount (NXOpen::AttributeIterator *iterator)
 Gets the count of set attributes on the object, if any, that satisfy the given iterator. More...
 
int GetUserAttributeCount (NXOpen::AttributeIterator *iterator, bool countArrayAsOneAttribute)
 Gets the count of set attributes on the object, if any, that satisfy the given iterator. More...
 
int GetUserAttributeCount (NXOpen::NXObject::AttributeType type)
 Gets the count of set attributes on the object, if any, of the given type. More...
 
int GetUserAttributeCount (NXOpen::NXObject::AttributeType type, bool includeUnset, bool countArrayAsOneAttribute)
 Gets the count of attributes on the object, if any, of the given type. More...
 
bool GetUserAttributeLock (const NXString &title, NXOpen::NXObject::AttributeType type)
 Determine the lock of the given attribute. More...
 
bool GetUserAttributeLock (const char *title, NXOpen::NXObject::AttributeType type)
 Determine the lock of the given attribute. More...
 
std::vector
< NXOpen::NXObject::AttributeInformation
GetUserAttributes (NXOpen::AttributeIterator *iterator)
 Gets all the attributes that have been set on the given object, if any, that satisfy the given iterator. More...
 
std::vector
< NXOpen::NXObject::AttributeInformation
GetUserAttributes ()
 Gets all the attributes that have been set on the given object. More...
 
std::vector
< NXOpen::NXObject::AttributeInformation
GetUserAttributes (bool includeUnset)
 Gets all the attributes of the given object. More...
 
std::vector
< NXOpen::NXObject::AttributeInformation
GetUserAttributes (bool includeUnset, bool addStringValues)
 Gets all the attributes of the given object. More...
 
std::vector< NXStringGetUserAttributesAsStrings ()
 Gets all the attributes that have been set on the given object. More...
 
int GetUserAttributeSize (const NXString &title, NXOpen::NXObject::AttributeType type)
 Gets the size of the first attribute encountered on the object, if any, with a given Title and Type. More...
 
int GetUserAttributeSize (const char *title, NXOpen::NXObject::AttributeType type)
 Gets the size of the first attribute encountered on the object, if any, with a given Title and Type. More...
 
std::vector< NXOpen::NXObject * > GetUserAttributeSourceObjects ()
 Returns an array of objects from which this object presents attributes. More...
 
bool HasUserAttribute (NXOpen::AttributeIterator *iterator)
 Determines if an attribute exists on the object, that satisfies the given iterator. More...
 
bool HasUserAttribute (const NXString &title, NXOpen::NXObject::AttributeType type, int index)
 Determines if an attribute with the given Title, Type and array Index is present on the object Unset attributes will not be detected by this function, as its purpose is to test for the actual presence of the attribute on the object. More...
 
bool HasUserAttribute (const char *title, NXOpen::NXObject::AttributeType type, int index)
 Determines if an attribute with the given Title, Type and array Index is present on the object Unset attributes will not be detected by this function, as its purpose is to test for the actual presence of the attribute on the object. More...
 
virtual bool IsOccurrence ()
 Returns whether this object is an occurrence or not. More...
 
virtual NXString JournalIdentifier ()
 Returns the identifier that would be recorded in a journal for this object. More...
 
virtual NXString Name ()
 Returns the custom name of the object. More...
 
virtual
NXOpen::Assemblies::Component
OwningComponent ()
 Returns the owning component, if this object is an occurrence. More...
 
virtual NXOpen::BasePartOwningPart ()
 Returns the owning part of this object
Created in NX3.0.0. More...
 
virtual void Print ()
 Prints a representation of this object to the system log file. More...
 
virtual NXOpen::INXObjectPrototype ()
 Returns the prototype of this object if it is an occurrence. More...
 
void SetAttribute (const NXString &title, int value)
 Creates or modifies an integer attribute. More...
 
void SetAttribute (const char *title, int value)
 Creates or modifies an integer attribute. More...
 
void SetAttribute (const NXString &title, int value, NXOpen::Update::Option option)
 Creates or modifies an integer attribute with the option to update or not. More...
 
void SetAttribute (const char *title, int value, NXOpen::Update::Option option)
 Creates or modifies an integer attribute with the option to update or not. More...
 
void SetAttribute (const NXString &title, double value)
 Creates or modifies a real attribute. More...
 
void SetAttribute (const char *title, double value)
 Creates or modifies a real attribute. More...
 
void SetAttribute (const NXString &title, double value, NXOpen::Update::Option option)
 Creates or modifies a real attribute with the option to update or not. More...
 
void SetAttribute (const char *title, double value, NXOpen::Update::Option option)
 Creates or modifies a real attribute with the option to update or not. More...
 
void SetAttribute (const NXString &title, const NXString &value)
 Creates or modifies a string attribute. More...
 
void SetAttribute (const char *title, const char *value)
 Creates or modifies a string attribute. More...
 
void SetAttribute (const NXString &title, const NXString &value, NXOpen::Update::Option option)
 Creates or modifies a string attribute with the option to update or not. More...
 
void SetAttribute (const char *title, const char *value, NXOpen::Update::Option option)
 Creates or modifies a string attribute with the option to update or not. More...
 
void SetAttribute (const NXString &title)
 Creates or modifies a null attribute which is an attribute with a title and no value. More...
 
void SetAttribute (const char *title)
 Creates or modifies a null attribute which is an attribute with a title and no value. More...
 
void SetAttribute (const NXString &title, NXOpen::Update::Option option)
 Creates or modifies a null attribute with the option to update or not. More...
 
void SetAttribute (const char *title, NXOpen::Update::Option option)
 Creates or modifies a null attribute with the option to update or not. More...
 
void SetBooleanUserAttribute (const NXString &title, int index, bool value, NXOpen::Update::Option option)
 Creates or modifies a boolean attribute with the option to update or not. More...
 
void SetBooleanUserAttribute (const char *title, int index, bool value, NXOpen::Update::Option option)
 Creates or modifies a boolean attribute with the option to update or not. More...
 
virtual void SetName (const NXString &name)
 Sets the custom name of the object. More...
 
virtual void SetName (const char *name)
 Sets the custom name of the object. More...
 
void SetPdmReferenceAttribute (const NXString &attributeTitle, const NXString &attributeValue)
 Sets the value of PDM Reference attribute on the object. More...
 
void SetPdmReferenceAttribute (const char *attributeTitle, const char *attributeValue)
 Sets the value of PDM Reference attribute on the object. More...
 
void SetReferenceAttribute (const NXString &title, const NXString &value)
 Creates or modifies a string attribute which uses a reference string. More...
 
void SetReferenceAttribute (const char *title, const char *value)
 Creates or modifies a string attribute which uses a reference string. More...
 
void SetReferenceAttribute (const NXString &title, const NXString &value, NXOpen::Update::Option option)
 Creates or modifies a string attribute which uses a reference string, with the option to update or not. More...
 
void SetReferenceAttribute (const char *title, const char *value, NXOpen::Update::Option option)
 Creates or modifies a string attribute which uses a reference string, with the option to update or not. More...
 
void SetTimeAttribute (const NXString &title, const NXString &value)
 Creates or modifies a time attribute. More...
 
void SetTimeAttribute (const char *title, const char *value)
 Creates or modifies a time attribute. More...
 
void SetTimeAttribute (const NXString &title, const NXString &value, NXOpen::Update::Option option)
 Creates or modifies a time attribute with the option to update or not. More...
 
void SetTimeAttribute (const char *title, const char *value, NXOpen::Update::Option option)
 Creates or modifies a time attribute with the option to update or not. More...
 
void SetTimeUserAttribute (const NXString &title, int index, const NXString &value, NXOpen::Update::Option option)
 Creates or modifies a time attribute with the option to update or not. More...
 
void SetTimeUserAttribute (const char *title, int index, const char *value, NXOpen::Update::Option option)
 Creates or modifies a time attribute with the option to update or not. More...
 
void SetTimeUserAttribute (const NXString &title, int index, const NXOpen::NXObject::ComputationalTime &value, NXOpen::Update::Option option)
 Creates or modifies a time attribute with the option to update or not. More...
 
void SetTimeUserAttribute (const char *title, int index, const NXOpen::NXObject::ComputationalTime &value, NXOpen::Update::Option option)
 Creates or modifies a time attribute with the option to update or not. More...
 
void SetUserAttribute (const NXOpen::NXObject::AttributeInformation &info, NXOpen::Update::Option option)
 Creates or modifies an attribute with the option to update or not. More...
 
void SetUserAttribute (const NXString &title, int index, int value, NXOpen::Update::Option option)
 Creates or modifies an integer attribute with the option to update or not. More...
 
void SetUserAttribute (const char *title, int index, int value, NXOpen::Update::Option option)
 Creates or modifies an integer attribute with the option to update or not. More...
 
void SetUserAttribute (const NXString &title, int index, double value, NXOpen::Update::Option option)
 Creates or modifies a real attribute with the option to update or not. More...
 
void SetUserAttribute (const char *title, int index, double value, NXOpen::Update::Option option)
 Creates or modifies a real attribute with the option to update or not. More...
 
void SetUserAttribute (const NXString &title, int index, const NXString &value, NXOpen::Update::Option option)
 Creates or modifies a string attribute with the option to update or not. More...
 
void SetUserAttribute (const char *title, int index, const char *value, NXOpen::Update::Option option)
 Creates or modifies a string attribute with the option to update or not. More...
 
void SetUserAttribute (const NXString &title, int index, NXOpen::Update::Option option)
 Creates or modifies a null attribute with the option to update or not. More...
 
void SetUserAttribute (const char *title, int index, NXOpen::Update::Option option)
 Creates or modifies a null attribute with the option to update or not. More...
 
void SetUserAttributeLock (const NXString &title, NXOpen::NXObject::AttributeType type, bool lock)
 Lock or unlock the given attribute. More...
 
void SetUserAttributeLock (const char *title, NXOpen::NXObject::AttributeType type, bool lock)
 Lock or unlock the given attribute. More...
 
- Public Member Functions inherited from NXOpen::TaggedObject
tag_t Tag () const
 Returns the tag of this object. More...
 

Detailed Description

Constraints for use in positioning objects in NX.

For constraints between components, the subclass NXOpen::Positioning::ComponentConstraint should be used by preference.
Some constraint types have an NXOpen::Expression associated with them, which the user can change to determine the value of that constraint. This expression applies to distance and angle constraints. The user can choose for this expression value to be driven by the system, so it will not have a fixed value set by the user.

The constraint types with values can be given limits. If the constraint is driven, the solver will always try to solve it to remain within those limits, and the constraint will fail if this is not possible. If the constraint is driving, it will have a failure status if its value is set to violate those limits (though it will still solve the model).

To create a new instance of this class, use NXOpen::Positioning::Positioner::CreateConstraint

Created in NX4.0.0.

Member Enumeration Documentation

Specifies alignment of directed geometries used in a constraint.

Enumerator
AlignmentInferAlign 

Allow the solver to decide the alignment.

AlignmentCoAlign 

Directions are the same.

AlignmentContraAlign 

Directions are opposite.

Specifies the status of a constraint.

Enumerator
SolverStatusNewlyCreated 

Not evaluated or suppressed since creation.

SolverStatusSuppressed 

Constraint is suppressed.

SolverStatusOutOfDate 

Needs evaluation.

SolverStatusOverConstrained 

Conflicts with other constraints.

SolverStatusNotConsistentDims 

Cannot solve with current dimension values.

Model fully defined

SolverStatusNotConsistentOther 

Cannot find a solution.

Model underdefined

SolverStatusNotConsistentUnknown 

Cannot find a solution.

SolverStatusBetweenFixed 

Attempt to put constraint between two fixed objects.

SolverStatusNotSolved 

Not evaluated because other parts of the model are over defined or inconsistent.

SolverStatusSolved 

The constraint is solved and satisfied.

SolverStatusCannotSolve 

The constraint has invalid geometry and could not be passed to the solver.

SolverStatusDelayed 

The constraint is delayed and will not solve.

SolverStatusIgnoredInArrangement 

The current arrangement ignores all constraints and they will not solve.

SolverStatusInternallyInconsistent 

The constraint references invalid geometry for this constraint type.

SolverStatusUnloadedGeometry 

The constraint could not solve as some geometry is unloaded.

SolverStatusPendingConvertedMc 

The constraint has been converted from a mating condition and has not solved since conversion.

SolverStatusConflictingWithWave 

The constraint has been suppressed because it's conflicting with WAVE.

SolverStatusInconsistentLimits 

The constraint has limits that are inconsistent and it could not be passed to the solver.

SolverStatusBeyondLimits 

The value of the expression of the constraint is beyond its limits and it could not be passed to the solver.

Specifies how the spline points define the shape of the spline.

Enumerator
SplineTypeByPoles 

Spline points define control points.

SplineTypeByPoints 

Spline points define interpolation/through points.

SplineTypeInvalid 

Not a valid spline constraint.

Specifies the type of a constraint.

Enumerator
TypeUndefined 

No type.

TypeTouch 

Two geometries touch.

TypeConcentric 

Two geometries share a center and plane.

TypeFix 

One movable object fixed.

TypeDistance 

Two geometries have a specified distance between them.

TypeParallel 

Two geometries are parallel.

TypePerpendicular 

Two geometries are perpendicular.

TypeCenter12 

One geometry is positioned mid-way between two others.

TypeCenter22 

An implicit plane between two geometries of one movable object is positioned mid-way between two others.

TypeAngle 

Two geometries have a specified angle between them.

TypeFit 

Two geometries are coincident.

TypeBond 

A number of movable objects form a rigid group.

TypeOrientAngle 

Two geometries have a specified angle between them about an axis.

TypeSplineData 

A spline and its defining points.

TypeSplineLength 

Constrains the curve length of a spline.

TypeLinearPattern 

For internal use only.

TypeCircularPattern 

For internal use only.

TypeLinear2dPattern 

For internal use only.

TypeRadiantPattern 

For internal use only.

TypeAlignLock 

Two geometries are constrained to have a common axis and no rotation about it.

TypeCommonOffsetTransform 

For internal use only.

TypeHinge 

For internal use only.

TypeSlider 

For internal use only.

TypeCylindrical 

For internal use only.

TypeBall 

For internal use only.

TypeScrew 

For internal use only.

TypeGear 

For internal use only.

TypeRackPinion 

For internal use only.

TypeCable 

For internal use only.

Member Function Documentation

bool NXOpen::Positioning::Constraint::Automatic ( )

Returns the flag marking the constraint as an "automatic" constraint.

Automatic constraints are constraints created by the system, but are visible and editable by the user. Automatic constraints are automatically deleted when one of the referenced objects are deleted by update.
Created in NX5.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

NXOpen::Positioning::Constraint::Alignment NXOpen::Positioning::Constraint::ConstraintAlignment ( )

Returns the alignment behavior for the constraint.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

NXOpen::Positioning::Constraint::Type NXOpen::Positioning::Constraint::ConstraintType ( )

Returns the constraint type.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

NXOpen::Positioning::ConstraintReference* NXOpen::Positioning::Constraint::CreateConstraintReference ( NXOpen::NXObject movableObject,
NXOpen::NXObject geometry,
bool  usesAxis,
bool  isIndirect 
)

Adds geometry to a constraint and sets the movable object to be constrained.

Returns
The new NXOpen::Positioning::ConstraintReference
Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")
Parameters
movableObjectObject to be positioned by constraint
geometryGeometry used to define constraint
usesAxisUse axis of geometry
isIndirectGeometry is to be used indirectly to identify geometry in another part
NXOpen::Positioning::ConstraintReference* NXOpen::Positioning::Constraint::CreateConstraintReference ( NXOpen::NXObject movableObject,
NXOpen::NXObject geometry,
bool  usesAxis,
bool  isIndirect,
bool  usePortRotate 
)

Adds geometry to a constraint and sets the movable object to be constrained.

Returns
The new NXOpen::Positioning::ConstraintReference
Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")
Parameters
movableObjectObject to be positioned by constraint
geometryGeometry used to define constraint
usesAxisUse axis of geometry
isIndirectGeometry is to be used indirectly to identify geometry in another part
usePortRotateUse rotate vector of NXOpen::Routing::Port .
void NXOpen::Positioning::Constraint::DeleteConstraintReference ( NXOpen::Positioning::ConstraintReference constraintReference)

Removes a NXOpen::Positioning::ConstraintReference from the constraint.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
constraintReferenceThe constraint reference to remove. A list of references can be obtained via NXOpen::Positioning::Constraint::GetReferences .
void NXOpen::Positioning::Constraint::EditConstraintReference ( NXOpen::Positioning::ConstraintReference constraintReference,
NXOpen::NXObject movableObject,
NXOpen::NXObject geometry,
bool  usesAxis,
bool  isIndirect,
bool  usePortRotate 
)

Adds geometry to a constraint and sets the movable object to be constrained, replacing the properties of an existing reference of the constraint.


Created in NX5.0.1.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
constraintReferenceThe NXOpen::Positioning::ConstraintReference whose properties are to be changed
movableObjectObject to be positioned by constraint
geometryGeometry used to define constraint
usesAxisUse axis of geometry
isIndirectGeometry is to be used indirectly to identify geometry in another part
usePortRotateUse rotate vector of NXOpen::Routing::Port .
NXOpen::Expression* NXOpen::Positioning::Constraint::Expression ( )

Returns the NXOpen::Expression of a constraint.

The expression will be unused unless this constraint type supports an expression, such as a distance or angle constraint.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

bool NXOpen::Positioning::Constraint::ExpressionDriven ( )

Returns the driven state of the expression of a constraint.

The value of a driven expression can change. Driven expression values are controlled by the solver and cannot be edited by the user. Only distance and angle constraints can have their expression made driven.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

void NXOpen::Positioning::Constraint::FlipAlignment ( )

Reverses the constraint alignment if this is possible.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

void NXOpen::Positioning::Constraint::GenerateConversionReport ( std::vector< NXString > &  lines)

Returns a textual conversion report this constraint from when it was converted from a Mating Constraint to an Assembly Constraint.

If this isn't a converted constraint or there were no problems converting this constraint, then an empty string is returned.


Created in NX5.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
linesThe text lines of the conversion report
NXOpen::Positioning::Constraint::SolverStatus NXOpen::Positioning::Constraint::GetConstraintStatus ( )

Returns the solver status of a constraint.

Returns
The solver status of the constraint
Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")
NXOpen::Positioning::DisplayedConstraint* NXOpen::Positioning::Constraint::GetDisplayedConstraint ( )

Gets the NXOpen::Positioning::DisplayedConstraint that is in the same part as that of the constraint.

Note that this will be NULL if the part has not been the displayed part since the constraint was created.

Returns

Created in NX7.5.0.

License requirements : assemblies ("ASSEMBLIES MODULE")
std::vector<NXOpen::Positioning::ConstraintReference *> NXOpen::Positioning::Constraint::GetReferences ( )

Gets all the NXOpen::Positioning::ConstraintReference s for the constraint.

Returns
ConstraintReferences used by this constraint
Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")
bool NXOpen::Positioning::Constraint::LowerLimitEnabled ( )

Returns the lower limit of the expression of a constraint.

The limit expression will only be used for constraint types that can have their expression made driven.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

NXOpen::Expression* NXOpen::Positioning::Constraint::LowerLimitExpression ( )

Returns the lower limit of the expression of a constraint.

The limit expression will only be used for certain constraint types, and they must have an expression.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

NXString NXOpen::Positioning::Constraint::LowerLimitRightHandSide ( )

Returns the lower limit of the expression right hand side of a constraint.

The limit expression will only be used for certain constraint types, and they must have an expression.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

bool NXOpen::Positioning::Constraint::Persistent ( )

Returns the persistent state of the constraint.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

void NXOpen::Positioning::Constraint::Renew ( )

Changes the constraint to solve with the latest version of the constraint code.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

void NXOpen::Positioning::Constraint::ReverseDirection ( )

Reverses the constraint direction.

This operation reverses the NXOpen::Positioning::ConstraintReference::Order on each NXOpen::Positioning::ConstraintReference . So "Inside" becomes "Outside", "Outside" becomes "Inside" and "Unknown" remains as it is.


Created in NX5.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

void NXOpen::Positioning::Constraint::SetAlignmentHint ( NXOpen::Positioning::Constraint::Alignment  alignment)

Set a hint as to which alignment should be used by the solver for this constraint.

If the constraint does not solve using this alignment then the hint will be ignored.

The hint can only have an effect when the alignment of [version_created("4")] the constraint, as returned by NXOpen::Positioning::Constraint::ConstraintAlignment , is NXOpen::Positioning::Constraint::AlignmentInferAlign .

The hint can only have an effect when the constraint has been explicitly added to a NXOpen::Positioning::Network .

Passing in NXOpen::Positioning::Constraint::AlignmentInferAlign as the alignment argument will have no effect.

The hint is forgotten after an update.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
alignmentThe alignment hint
void NXOpen::Positioning::Constraint::SetAutomatic ( bool  isauto)

Sets the flag marking the constraint as an "automatic" constraint.

Automatic constraints are constraints created by the system, but are visible and editable by the user. Automatic constraints are automatically deleted when one of the referenced objects are deleted by update.
Created in NX5.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
isautoThe automatic state
void NXOpen::Positioning::Constraint::SetConstraintAlignment ( NXOpen::Positioning::Constraint::Alignment  alignment)

Sets the alignment behavior for the constraint.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
alignmentAlignment behavior for constraint
void NXOpen::Positioning::Constraint::SetConstraintType ( NXOpen::Positioning::Constraint::Type  constraintType)

Sets the constraint type.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
constraintTypeconstraint type
void NXOpen::Positioning::Constraint::SetExpression ( const NXString expression)

The NXOpen::Expression of a constraint - only for distance or angle constraints.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
expressionName of expression used in the constraint
void NXOpen::Positioning::Constraint::SetExpression ( const char *  expression)

The NXOpen::Expression of a constraint - only for distance or angle constraints.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
expressionName of expression used in the constraint
void NXOpen::Positioning::Constraint::SetExpressionDriven ( bool  expressionDriven)

Sets the driven state of the expression of a constraint.

The value of a driven expression can change. Driven expression values are controlled by the solver and cannot be edited by the user. Only distance and angle constraints can have their expression made driven.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
expressionDrivenWhether or not the expression is driven.
void NXOpen::Positioning::Constraint::SetLowerLimitEnabled ( bool  hasLimit)

Sets the lower limit of the expression of a constraint.

The limit expression will only be used for constraint types that can have their expression made driven.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
hasLimitWhether or not the lower limit of the expression is enabled.
void NXOpen::Positioning::Constraint::SetLowerLimitRightHandSide ( const NXString limitRightHandSide)

Sets the lower limit of the expression right hand side of a constraint.

The limit expression will only be used for certain constraint types, and they must have an expression.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
limitRightHandSideThe expression to be applied to the lower limit of the expression.
void NXOpen::Positioning::Constraint::SetLowerLimitRightHandSide ( const char *  limitRightHandSide)

Sets the lower limit of the expression right hand side of a constraint.

The limit expression will only be used for certain constraint types, and they must have an expression.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
limitRightHandSideThe expression to be applied to the lower limit of the expression.
void NXOpen::Positioning::Constraint::SetPersistent ( bool  persistent)

Sets the persistent state of the constraint.


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
persistentThe persistent state
void NXOpen::Positioning::Constraint::SetSplinePointsType ( NXOpen::Positioning::Constraint::SplineType  splineType)

Sets the type of the spline.

Only valid if the type of the constraint is set to NXOpen::Positioning::Constraint::TypeSplineData .
Created in NX6.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
splineTypespline type
void NXOpen::Positioning::Constraint::SetSuppressed ( bool  suppressed)

Sets the suppression state for the constraint.

In a NXOpen::Positioning::ComponentConstraint this is the state in the NXOpen::Positioning::ComponentPositioner::PrimaryArrangement and NXOpen::Positioning::ComponentPositioner::SetPrimaryArrangement ."


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
suppressedThe suppression state
void NXOpen::Positioning::Constraint::SetUpperLimitEnabled ( bool  hasLimit)

Sets the upper limit of the expression of a constraint.

The limit expression will only be used for constraint types that can have their expression made driven.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
hasLimitWhether or not the upper limit of the expression is enabled.
void NXOpen::Positioning::Constraint::SetUpperLimitRightHandSide ( const NXString limitRightHandSide)

Sets the upper limit of the expression right hand side of a constraint.

The limit expression will only be used for certain constraint types, and they must have an expression.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
limitRightHandSideThe expression to be applied to the upper limit of the expression.
void NXOpen::Positioning::Constraint::SetUpperLimitRightHandSide ( const char *  limitRightHandSide)

Sets the upper limit of the expression right hand side of a constraint.

The limit expression will only be used for certain constraint types, and they must have an expression.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

Parameters
limitRightHandSideThe expression to be applied to the upper limit of the expression.
NXOpen::Positioning::Constraint::SplineType NXOpen::Positioning::Constraint::SplinePointsType ( )

Returns the type of the spline.

Only valid if the type of the constraint is set to NXOpen::Positioning::Constraint::TypeSplineData .
Created in NX6.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

bool NXOpen::Positioning::Constraint::Suppressed ( )

Returns the suppression state for the constraint.

In a NXOpen::Positioning::ComponentConstraint this is the state in the NXOpen::Positioning::ComponentPositioner::PrimaryArrangement and NXOpen::Positioning::ComponentPositioner::SetPrimaryArrangement ."


Created in NX4.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

bool NXOpen::Positioning::Constraint::UpperLimitEnabled ( )

Returns the upper limit of the expression of a constraint.

The limit expression will only be used for constraint types that can have their expression made driven.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

NXOpen::Expression* NXOpen::Positioning::Constraint::UpperLimitExpression ( )

Returns the upper limit of the expression of a constraint.

The limit expression will only be used for certain constraint types, and they must have an expression.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")

NXString NXOpen::Positioning::Constraint::UpperLimitRightHandSide ( )

Returns the upper limit of the expression right hand side of a constraint.

The limit expression will only be used for certain constraint types, and they must have an expression.


Created in NX11.0.0.

License requirements : assemblies ("ASSEMBLIES MODULE")


The documentation for this class was generated from the following file:
Copyright 2017 Siemens Product Lifecycle Management Software Inc. All Rights Reserved.