NX Open C++ Reference Guide
|
The Routing SBendCorner defines a S-Bend. More...
Public Member Functions | |
bool | GetSBendData (int *sbendType, NXOpen::Routing::ControlPoint **startRcp, NXOpen::Routing::ControlPoint **endRcp, NXOpen::Routing::SplineSegment **segment, double *radiusOrRatio) |
Returns the data for the S-Bend object. | |
double | GetSBendRadius () |
Gets the S-Bend radius of a S-Bend corner. | |
std::vector < NXOpen::Routing::Stock * > | GetSBendStocks () |
Returns an array of stocks for the S-Bend object. | |
NXOpen::Routing::SplineSegment * | GetSegment () |
Gets the segment being used to represent the S-Bend. | |
void | SetSBendData (int sbendType, NXOpen::Routing::ControlPoint *startRcp, NXOpen::Routing::ControlPoint *endRcp, NXOpen::Routing::SplineSegment *segment, double radiusOrRatio, bool useBendRatio) |
Set the data for the S-Bend object Created in NX4.0.0. | |
![]() | |
void | DeleteAllAttributesByType (NXOpen::NXObject::AttributeType type) |
Deletes all attributes of a specific type. | |
void | DeleteAllAttributesByType (NXOpen::NXObject::AttributeType type, NXOpen::Update::Option option) |
Deletes all attributes of a specific type with the option to update or not. | |
void | DeleteAttributeByTypeAndTitle (NXOpen::NXObject::AttributeType type, const NXString &title) |
Deletes an attribute by type and title. | |
void | DeleteAttributeByTypeAndTitle (NXOpen::NXObject::AttributeType type, const char *title) |
Deletes an attribute by type and title. | |
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. | |
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. | |
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 and Index. | |
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 and Index. | |
void | DeleteUserAttributes (NXOpen::NXObject::AttributeType type, NXOpen::Update::Option option) |
Deletes the attributes encountered with the given Type with option to update or not. | |
virtual NXOpen::INXObject * | FindObject (const NXString &journalIdentifier) |
Finds the NXObject with the given identifier as recorded in a journal. | |
NXOpen::INXObject * | FindObject (const char *journalIdentifier) |
Finds the NXObject with the given identifier as recorded in a journal. | |
std::vector < NXOpen::NXObject::AttributeInformation > | GetAttributeTitlesByType (NXOpen::NXObject::AttributeType type) |
Gets all the attribute titles of a specific type. | |
bool | GetBooleanUserAttribute (const NXString &title, int index) |
Gets a boolean attribute by Title and array Index. | |
bool | GetBooleanUserAttribute (const char *title, int index) |
Gets a boolean attribute by Title and array Index. | |
NXOpen::NXObject::ComputationalTime | GetComputationalTimeUserAttribute (const NXString &title, int index) |
Gets a time attribute by Title and array Index. | |
NXOpen::NXObject::ComputationalTime | GetComputationalTimeUserAttribute (const char *title, int index) |
Gets a time attribute by Title and array Index. | |
int | GetIntegerAttribute (const NXString &title) |
Gets an integer attribute by title. | |
int | GetIntegerAttribute (const char *title) |
Gets an integer attribute by title. | |
int | GetIntegerUserAttribute (const NXString &title, int index) |
Gets an integer attribute by Title and array Index. | |
int | GetIntegerUserAttribute (const char *title, int index) |
Gets an integer attribute by Title and array Index. | |
double | GetRealAttribute (const NXString &title) |
Gets a real attribute by title. | |
double | GetRealAttribute (const char *title) |
Gets a real attribute by title. | |
double | GetRealUserAttribute (const NXString &title, int index) |
Gets a real attribute by Title and array Index. | |
double | GetRealUserAttribute (const char *title, int index) |
Gets a real attribute by Title and array Index. | |
NXString | GetReferenceAttribute (const NXString &title) |
Gets the reference string (not the calculated value) of a string attribute that uses a reference string. | |
NXString | GetReferenceAttribute (const char *title) |
Gets the reference string (not the calculated value) of a string attribute that uses a reference string. | |
NXString | GetStringAttribute (const NXString &title) |
Gets a string attribute value by title. | |
NXString | GetStringAttribute (const char *title) |
Gets a string attribute value by title. | |
NXString | GetStringUserAttribute (const NXString &title, int index) |
Gets a string attribute by Title and array Index. | |
NXString | GetStringUserAttribute (const char *title, int index) |
Gets a string attribute by Title and array Index. | |
NXString | GetTimeAttribute (NXOpen::NXObject::DateAndTimeFormat format, const NXString &title) |
Gets a time attribute by title. | |
NXString | GetTimeAttribute (NXOpen::NXObject::DateAndTimeFormat format, const char *title) |
Gets a time attribute by title. | |
NXString | GetTimeUserAttribute (const NXString &title, int index) |
Gets a time attribute by Title and array Index. | |
NXString | GetTimeUserAttribute (const char *title, int index) |
Gets a time attribute by Title and array Index. | |
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. | |
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. | |
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. | |
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. | |
bool | GetUserAttributeLock (const NXString &title, NXOpen::NXObject::AttributeType type) |
Determine the lock of the given attribute. | |
bool | GetUserAttributeLock (const char *title, NXOpen::NXObject::AttributeType type) |
Determine the lock of the given attribute. | |
std::vector < NXOpen::NXObject::AttributeInformation > | GetUserAttributes () |
Gets all the attributes that have been set on the given object. | |
std::vector < NXOpen::NXObject::AttributeInformation > | GetUserAttributes (bool includeUnset) |
Gets all the attributes that have been set on the given object. | |
std::vector < NXOpen::NXObject::AttributeInformation > | GetUserAttributes (bool includeUnset, bool addStringValues) |
Gets all the attributes that have been set on the given object. | |
std::vector< NXString > | GetUserAttributesAsStrings () |
Gets all the attributes that have been set on the given object. | |
std::vector< NXOpen::NXObject * > | GetUserAttributeSourceObjects () |
Returns an array of objects from which this object presents attributes. | |
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 If the attribute is not an array, the Index is ignored (if this is known beforehand, we recommend setting the Index to -1 to save time). | |
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 If the attribute is not an array, the Index is ignored (if this is known beforehand, we recommend setting the Index to -1 to save time). | |
virtual bool | IsOccurrence () |
Returns whether this object is an occurrence or not. | |
virtual NXString | JournalIdentifier () |
Returns the identifier that would be recorded in a journal for this object. | |
virtual NXString | Name () |
Returns the custom name of the object. | |
virtual NXOpen::Assemblies::Component * | OwningComponent () |
Returns the owning component, if this object is an occurrence. | |
virtual NXOpen::BasePart * | OwningPart () |
Returns the owning part of this object Created in NX3.0.0. | |
virtual void | Print () |
Prints a representation of this object to the system log file. | |
virtual NXOpen::INXObject * | Prototype () |
Returns the prototype of this object if it is an occurrence. | |
void | SetAttribute (const NXString &title, int value) |
Creates or modifies an integer attribute. | |
void | SetAttribute (const char *title, int value) |
Creates or modifies an integer attribute. | |
void | SetAttribute (const NXString &title, int value, NXOpen::Update::Option option) |
Creates or modifies an integer attribute with the option to update or not. | |
void | SetAttribute (const char *title, int value, NXOpen::Update::Option option) |
Creates or modifies an integer attribute with the option to update or not. | |
void | SetAttribute (const NXString &title, double value) |
Creates or modifies a real attribute. | |
void | SetAttribute (const char *title, double value) |
Creates or modifies a real attribute. | |
void | SetAttribute (const NXString &title, double value, NXOpen::Update::Option option) |
Creates or modifies a real attribute with the option to update or not. | |
void | SetAttribute (const char *title, double value, NXOpen::Update::Option option) |
Creates or modifies a real attribute with the option to update or not. | |
void | SetAttribute (const NXString &title, const NXString &value) |
Creates or modifies a string attribute. | |
void | SetAttribute (const char *title, const char *value) |
Creates or modifies a string attribute. | |
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. | |
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. | |
void | SetAttribute (const NXString &title) |
Creates or modifies a null attribute which is an attribute with a title and no value. | |
void | SetAttribute (const char *title) |
Creates or modifies a null attribute which is an attribute with a title and no value. | |
void | SetAttribute (const NXString &title, NXOpen::Update::Option option) |
Creates or modifies a null attribute with the option to update or not. | |
void | SetAttribute (const char *title, NXOpen::Update::Option option) |
Creates or modifies a null attribute with the option to update or not. | |
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. | |
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. | |
virtual void | SetName (const NXString &name) |
Sets the custom name of the object. | |
void | SetName (const char *name) |
Sets the custom name of the object. | |
void | SetReferenceAttribute (const NXString &title, const NXString &value) |
Creates or modifies a string attribute which uses a reference string. | |
void | SetReferenceAttribute (const char *title, const char *value) |
Creates or modifies a string attribute which uses a reference string. | |
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. | |
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. | |
void | SetTimeAttribute (const NXString &title, const NXString &value) |
Creates or modifies a time attribute. | |
void | SetTimeAttribute (const char *title, const char *value) |
Creates or modifies a time attribute. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
void | SetUserAttribute (const NXOpen::NXObject::AttributeInformation &info, NXOpen::Update::Option option) |
Creates or modifies an attribute with the option to update or not. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
void | SetUserAttribute (const NXString &title, int index, NXOpen::Update::Option option) |
Creates or modifies a null attribute with the option to update or not. | |
void | SetUserAttribute (const char *title, int index, NXOpen::Update::Option option) |
Creates or modifies a null attribute with the option to update or not. | |
void | SetUserAttributeLock (const NXString &title, NXOpen::NXObject::AttributeType type, bool lock) |
Lock or unlock the given attribute. | |
void | SetUserAttributeLock (const char *title, NXOpen::NXObject::AttributeType type, bool lock) |
Lock or unlock the given attribute. | |
![]() | |
tag_t | GetTag () const |
<b>Deprecated</b>:<br> Use Tag instead. | |
tag_t | Tag () const |
Returns the tag of this object. | |
![]() | |
NXOpen::INXObject * | FindObject (const char *journalIdentifier) |
Finds the NXObject with the given identifier as recorded in a journal. | |
void | SetName (const char *name) |
Sets the custom name of the object. | |
Additional Inherited Members | |
![]() | |
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... | |
The Routing SBendCorner defines a S-Bend.
There are 5 possible S-bend types.
The UI input is two work part line segment-ending RCPs, each of which implicitly provides a 3D point and vector. An S-bend heals the separation between the two segments with a C1 continuous spline segment.
To disambiguate among 5 S-bend types (see below), the user may need to further indicate whether the S-bend starts bending immediately at the end of one or both of the 2 input segments. Some arrangements of 2 segments do not require further user input to disambiguate among the possible S-bend types.
The direction vectors of the 2 input segments must either be perpendicular (types 1,2,3) or parallel (types 4,5).
The closest distance between the (infinite) lines containing the input segments must be less that twice the bend radius. If this condition does not hold, then 2 right angle bends could connect the 2 input segments, i.e., an S-bend is unnecessary.
Every S-bend has two bends, whose radii are always equal. Except for type 2 and 3, the bend angles are equal and in the range [ Pi/4, Pi/2 ].
S-bends never cause a cutback of an input segment, although type 1,2,4 S-bends may add a straight line extension to one of the segment ends before the bending starts. Type 1 S-bends may add a straight line extension to both segment ends.
INPUT
For computation solving purposes, the above input becomes a bend radius, height, width, and possibly a depth.
OUTPUT bend angle(s):
Bend angles are computed at the centers of the bend arcs
S-bends fall into two categories:
End tangents are perpendicular.
Three types are possible. In the 3D diagrams below:
The constructor line, AB, is the perpendicular distance between the lines that the segments define.
The A-B, A-P1, B-P2 vectors are mutually perpendicular.
Type 2: middle straight line portion
Similar to Type 1:
The bend from segment 2 lies in the plane A,B,P2.
<br> The bend from segment 1 is always 90 degrees, and thus terminates somewhere in the plane A,B,P2. <br> <br> The bend from segment 1 always starts on an extension of segment 1 that is a distance R from A. <br>
Unlike Type 1:
Segment 2's bend always starts at P2, i.e., segment 2 never has an extension.
Type 3: middle straight line portion. user chooses between Type 2-3.
The bend radius isn't big enough to span the height so a middle straight line segment is necessary.
Neither segment can have an extension, i.e., the bends start at P1 and P2. Unlike in Type 2, segment 2's bend does not lie in the plane A,B,P2, i.e., both bends immediately start bending toward each other.
Type 4: no middle straight line portion
The height, H, is length (A-P1), where A is the projection of P1 onto the line that seg2 defines.
Because both bend angles are the same, the bends meet at half the height H/2.
o An extension as described above is the distance leading up to the bend arc.
Use the Routing::SBendCornerCollection to obtain an instance.
Created in NX4.0.0.
bool NXOpen::Routing::SBendCorner::GetSBendData | ( | int * | sbendType, |
NXOpen::Routing::ControlPoint ** | startRcp, | ||
NXOpen::Routing::ControlPoint ** | endRcp, | ||
NXOpen::Routing::SplineSegment ** | segment, | ||
double * | radiusOrRatio | ||
) |
Returns the data for the S-Bend object.
sbendType | S-Bend type |
startRcp | S-Bend start Control point |
endRcp | S-Bend end Control point |
segment | S-Bend segment |
radiusOrRatio | Bend radius or bend_ratio. |
double NXOpen::Routing::SBendCorner::GetSBendRadius | ( | ) |
Gets the S-Bend radius of a S-Bend corner.
std::vector<NXOpen::Routing::Stock *> NXOpen::Routing::SBendCorner::GetSBendStocks | ( | ) |
Returns an array of stocks for the S-Bend object.
NXOpen::Routing::SplineSegment* NXOpen::Routing::SBendCorner::GetSegment | ( | ) |
Gets the segment being used to represent the S-Bend.
void NXOpen::Routing::SBendCorner::SetSBendData | ( | int | sbendType, |
NXOpen::Routing::ControlPoint * | startRcp, | ||
NXOpen::Routing::ControlPoint * | endRcp, | ||
NXOpen::Routing::SplineSegment * | segment, | ||
double | radiusOrRatio, | ||
bool | useBendRatio | ||
) |
Set the data for the S-Bend object
Created in NX4.0.0.
License requirements : routing_base ("Routing Basic")
sbendType | S-Bend type |
startRcp | The start Control point for the S-Bend. |
endRcp | The end Control point for the S-Bend. |
segment | S-Bend segment |
radiusOrRatio | S-Bend radius or bend_ratio. |
useBendRatio | TRUE: if bend ratio is used; FALSE: otherwise. |