LineSegment Class — NXOpen Python API Reference 12.0.0 documentation

# LineSegment Class

class `NXOpen.Routing.``LineSegment`

  Bases: `NXOpen.Line`, `NXOpen.Routing.ISegment`

  Represents a line segment.

  To obtain an instance of this class use `NXOpen.Routing.LineSegmentCollection`

  New in version NX4.0.0.

# Properties

Property | Description
--- | ---
Color | Returns or sets the color of the object.
EndPoint | Returns the end point of the line
FollowCurve | Returns the segment follow curve.
IsBlanked | Returns the blank status of this object.
IsOccurrence | Returns whether this object is an occurrence or not.
IsReference | Returns the reference state of a curve
JournalIdentifier | Returns the identifier that would be recorded in a journal for this object.
Layer | Returns or sets the layer that the object is in.
Length | Returns the length of the segment.
LineFont | Returns or sets the line font of the object.
LineWidth | Returns or sets the line width of the object.
Name | Returns the custom name of the object.
NameLocation | Returns the location of the object’s name.
OwningComponent | Returns the owning component, if this object is an occurrence.
OwningPart | Returns the owning part of this object
Prototype | Returns the prototype of this object if it is an occurrence.
StartPoint | Returns the start point of the line
Tag | Returns the Tag for this object.
Update | Returns the update option.
Visibility | Returns the visibility.

# Methods

Method | Description
--- | ---
Blank | Blanks the object.
ConvertEccentricLinearToLinear | Is line segment eccentric converted to line segment?
ConvertLinearToEccentricLinear | Is line segment converted to eccentric line segment?
CreateAttributeIterator | Create an attribute iterator
DeleteAllAttributesByType | Deletes all attributes of a specific type.
DeleteAttributeByTypeAndTitle | Deletes an attribute by type and title.
DeleteCharacterstics | Removes the input list of characteristics from this object.
DeleteUserAttribute | Deletes the first attribute encountered with the given Type, Title.
DeleteUserAttributes | Deletes the attributes on the object, if any, that satisfy the given iterator
Evaluate | Evaluate a smart object.
FindObject | Finds the `NXOpen.NXObject` with the given identifier as recorded in a journal.
GetAttributeTitlesByType | Gets all the attribute titles of a specific type.
GetBooleanUserAttribute | Gets a boolean attribute by Title and array Index.
GetCableDevices | Returns `NXOpen.Routing.Electrical.CableDevice` objects from `NXOpen.Routing.ISegment`.
GetCablewaysLayoutViews | Returns `NXOpen.Routing.Electrical.CablewaysLayoutView` objects from the `NXOpen.Routing.ISegment`.
GetCharacteristics | Get all of the characteristics values on the this object.
GetComputationalTimeUserAttribute | Gets a time attribute by Title and array Index.
GetDestinationCharacteristics | Returns the destination characteristics from the input object.
GetDraftingCurveInfo | Creates new DraftingCurveInfo object
GetEndPoints | Get the current location of the segment ends in ABS coordinates.
GetEndRcps | Return of segment end control points.
GetGuid | Returns the Globally Unique Identifier (GUID) for this segment.
GetIntegerAttribute | Gets an integer attribute by title.
GetIntegerCharacteristic | Get the value of an integer characteristic associated with the input name.
GetIntegerUserAttribute | Gets an integer attribute by Title and array Index.
GetIsEccentricSegment | Is given segment a eccentric segment?
GetIsSegmentInterior | Query if a segment is interior to any part
GetIsTerminalSegment | Is given segment a terminal segment?
GetNextUserAttribute | Gets the next attribute encountered on the object, if any, that satisfies the given iterator.
GetPdmReferenceAttributeValue | Gets the value of PDM Reference attribute for given object.
GetRealAttribute | Gets a real attribute by title.
GetRealCharacteristic | Get the value of a real characteristic associated with the input name.
GetRealUserAttribute | Gets a real attribute by Title and array Index.
GetReferenceAttribute | Gets the reference string (not the calculated value) of a string attribute that uses a reference string.
GetSegmentAllStocks | Returns `NXOpen.Routing.Stock` as well as `NXOpen.Routing.Overstock` objects from the `NXOpen.Routing.ISegment`.
GetSegmentStock | Returns all stocks that directly reference this segment as part of the path defining the stock.
GetStringAttribute | Gets a string attribute value by title.
GetStringCharacteristic | Get the value of a string characteristic associated with the input name.
GetStringUserAttribute | Gets a string attribute by Title and array Index.
GetTimeAttribute | Gets a time attribute by title.
GetTimeUserAttribute | Gets a time attribute by Title and array Index.
GetUserAttribute | Gets the first attribute encountered on the object, if any, with a given Title, Type and array Index.
GetUserAttributeAsString | Gets the first attribute encountered on the object, if any, with a given title, type and array index.
GetUserAttributeCount | Gets the count of set attributes on the object, if any, that satisfy the given iterator.
GetUserAttributeLock | Determine the lock of the given attribute.
GetUserAttributeSize | Gets the size of the first attribute encountered on the object, if any, with a given Title and Type.
GetUserAttributeSourceObjects | Returns an array of objects from which this object presents attributes.
GetUserAttributes | Gets all the attributes that have been set on the given object, if any, that satisfy the given iterator.
GetUserAttributesAsStrings | Gets all the attributes that have been set on the given object.
HasUserAttribute | Determines if an attribute exists on the object, that satisfies the given iterator
Highlight | Highlights the object.
IsAngleLocked | Returns whether or not an angle, parallel or perpendicular constraint exists that constrains the angle between this segment and the other input object.
IsLengthLocked | Returns whether or not a distance constraint exists that constrains the distance between the two end control points of this line segment.
LockAngle | Adds a constraint to maintain the angle of this line segment with respect to another object.
LockLength | Adds a constraint to maintain the length of this line segment.
Print | Prints a representation of this object to the system log file.
ProtectFromDelete | Protects the SmartObject from being deleted if any referencing objects are deleted.
RedisplayObject | Redisplays the object in all views.
ReleaseDeleteProtection | Removes delete protection from the SmartObject.
RemoveParameters | Removes the smart object parameters.
RemoveViewDependency | Remove dependency on all views from an object.
ReplaceParameters | Edit a smart object by replacing its parameters using parameters of other smart object of the same class.
SetAttribute | Creates or modifies an integer attribute.
SetBooleanUserAttribute | Creates or modifies a boolean attribute with the option to update or not.
SetCharacteristic | Set the value of an integer characteristic associated with the input name, adds a new characteristic to the list if one doesn’t exist already.
SetCharacteristic2 | Sets or creates an integer type attribute associated with the input title.
SetCharacteristics | Set all of the characteristics values on this object.
SetCharacteristics2 | Sets all attributes associated with the titles from the input list, creating new attributes for the ones that don’t exist already.
SetEndPoint | Sets the end point of the line
SetEndPoints | Set the current location of the segment ends in ABS coordinates.
SetEndRcps |
SetEndpoints | Sets the start and end points of the line
SetIsTerminalSegment | Set given segment to be a terminal segment?
SetName | Sets the custom name of the object.
SetNameLocation | Sets the location of the object’s name.
SetPdmReferenceAttribute | Sets the value of PDM Reference attribute on the object.
SetReferenceAttribute | Creates or modifies a string attribute which uses a reference string.
SetSegmentInteriorPart | Set a segment to be interior to supplied part
SetStartPoint | Sets the start point of the line
SetTimeAttribute | Creates or modifies a time attribute.
SetTimeUserAttribute | Creates or modifies a time attribute with the option to update or not.
SetUserAttribute | Creates or modifies an attribute with the option to update or not.
SetUserAttributeLock | Lock or unlock the given attribute.
SetVisibility | Sets the visibility.
Unblank | Unblanks the object.
Unhighlight | Unhighlights the object.
UnlockAngle | Removes the angle, parallel or perpendicular constraint that constrains the angle between this line segment and the input object.
UnlockLength | Removes the distance constraint that constrains the distance between the two end control points of this line segment.

# Property Detail

## FollowCurve

`LineSegment.``FollowCurve`

  Returns the segment follow curve.

  NULL object indicates segment has no follow curve

  `-------------------------------------`

  Getter Method

  Signature `FollowCurve`

  Returns: | Follow curve of segment
  Return type: | `NXOpen.Curve`

  New in version NX4.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## IsOccurrence

`LineSegment.``IsOccurrence`

  Returns whether this object is an occurrence or not.

  `-------------------------------------`

  Getter Method

  Signature `IsOccurrence`

  Returns: | This object is an occurrence
  Return type: | bool

  New in version NX3.0.0.

  License requirements: None.

## IsReference

`LineSegment.``IsReference`

  Returns the reference state of a curve

  `-------------------------------------`

  Getter Method

  Signature `IsReference`

  Returns: | True - Reference; False - Not Reference
  Return type: | bool

  New in version NX8.0.0.

  License requirements: None.

## JournalIdentifier

`LineSegment.``JournalIdentifier`

  Returns the identifier that would be recorded in a journal for this object.

  This may not be the same across different releases of the software.

  `-------------------------------------`

  Getter Method

  Signature `JournalIdentifier`

  Returns: |
  Return type: | str

  New in version NX3.0.0.

  License requirements: None.

## Length

`LineSegment.``Length`

  Returns the length of the segment.

  `-------------------------------------`

  Getter Method

  Signature `Length`

  Returns: |
  Return type: | float

  New in version NX11.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## Name

`LineSegment.``Name`

  Returns the custom name of the object.

  `-------------------------------------`

  Getter Method

  Signature `Name`

  Returns: |
  Return type: | str

  New in version NX3.0.0.

  License requirements: None.

## OwningComponent

`LineSegment.``OwningComponent`

  Returns the owning component, if this object is an occurrence.

  `-------------------------------------`

  Getter Method

  Signature `OwningComponent`

  Returns: |
  Return type: | `NXOpen.Assemblies.Component`

  New in version NX3.0.0.

  License requirements: None.

## OwningPart

`LineSegment.``OwningPart`

  Returns the owning part of this object

  `-------------------------------------`

  Getter Method

  Signature `OwningPart`

  Returns: | The owning part of this object or null if it does not have an owner
  Return type: | `NXOpen.BasePart`

  New in version NX3.0.0.

  License requirements: None.

## Prototype

`LineSegment.``Prototype`

  Returns the prototype of this object if it is an occurrence.

  `-------------------------------------`

  Getter Method

  Signature `Prototype`

  Returns: | The prototype of this object or null if this object is not an occurrence
  Return type: | `NXOpen.INXObject`

  New in version NX3.0.0.

  License requirements: None.

# Method Detail

## ConvertEccentricLinearToLinear

`LineSegment.``ConvertEccentricLinearToLinear`

  Is line segment eccentric converted to line segment?

  Signature `ConvertEccentricLinearToLinear()`

  Returns: | Is line segment eccentric converted to line segment?
  Return type: | `NXOpen.Routing.ConvertEccentricLinearToLinear`

  New in version NX8.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## ConvertLinearToEccentricLinear

`LineSegment.``ConvertLinearToEccentricLinear`

  Is line segment converted to eccentric line segment?

  Signature `ConvertLinearToEccentricLinear()`

  Returns: | Is line segment converted to eccentric line segment?
  Return type: | `NXOpen.Routing.ConvertLinearToEccentricLinear`

  New in version NX8.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## DeleteCharacterstics

`LineSegment.``DeleteCharacterstics`

  Removes the input list of characteristics from this object.

  Signature `DeleteCharacterstics(values)`

  Parameters: | values (`NXOpen.Routing.CharacteristicList`) –

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## FindObject

`LineSegment.``FindObject`

  Finds the `NXOpen.NXObject` with the given identifier as recorded in a journal.

  An object may not return the same value as its JournalIdentifier in different versions of the software. However newer versions of the software should find the same object when FindObject is passed older versions of its journal identifier. In general, this method should not be used in handwritten code and exists to support record and playback of journals.

  An exception will be thrown if no object can be found with the given journal identifier.

  Signature `FindObject(journalIdentifier)`

  Parameters: | journalIdentifier (str) – Journal identifier of the object
  Returns: |
  Return type: | `NXOpen.INXObject`

  New in version NX3.0.0.

  License requirements: None.

## GetCableDevices

`LineSegment.``GetCableDevices`

  Returns `NXOpen.Routing.Electrical.CableDevice` objects from `NXOpen.Routing.ISegment`.

  Signature `GetCableDevices()`

  Returns: | Array of cable devices.
  Return type: | list of `NXOpen.Routing.Electrical.CableDevice`

  New in version NX7.5.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## GetCablewaysLayoutViews

`LineSegment.``GetCablewaysLayoutViews`

  Returns `NXOpen.Routing.Electrical.CablewaysLayoutView` objects from the `NXOpen.Routing.ISegment`.

  Signature `GetCablewaysLayoutViews()`

  Returns: | Array of cableways layout views.
  Return type: | list of `NXOpen.Routing.Electrical.CablewaysLayoutView`

  New in version NX7.5.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## GetCharacteristics

`LineSegment.``GetCharacteristics`

  Get all of the characteristics values on the this object.

  Signature `GetCharacteristics()`

  Returns: |
  Return type: | `NXOpen.Routing.CharacteristicList`

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetDestinationCharacteristics

`LineSegment.``GetDestinationCharacteristics`

  Returns the destination characteristics from the input object.

  Retrieves the description of which destination characteristics to read from the application view and then reads those destination characteristics from the object

  > - Ports: Reads characteristics from the port.
  > - RCPs: Attempts to find a port at the RCP, reads characteristics from

  the port if it exists, otherwise reads from the stock associated with the rcp.

  > - Segments: Reads characteristics from the stock associated with the segment.
  > - Components: Reads characteristics directly from the component.
  > - Stock: Reads characteristics from the stock or from the stock’s data.

  Signature `GetDestinationCharacteristics()`

  Returns: |
  Return type: | `NXOpen.Routing.CharacteristicList`

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetDraftingCurveInfo

`LineSegment.``GetDraftingCurveInfo`

  Creates new DraftingCurveInfo object

  Signature `GetDraftingCurveInfo()`

  Returns: | New DraftingCurveInfo object. Returns None if the input curve

  is not a drafting curve :rtype: `NXOpen.Drawings.DraftingCurveInfo`

  New in version NX10.0.0.

  License requirements: None.

## GetEndPoints

`LineSegment.``GetEndPoints`

  Get the current location of the segment ends in ABS coordinates.

  This value is overridden by the coordinates of the end RCPs associated with this segment.

  Signature `GetEndPoints()`

  Returns: | a tuple
  Return type: | A tuple consisting of (startPoint, endPoint). startPoint is a `NXOpen.Point3d`. Location of end 0 in ABS coordinates endPoint is a `NXOpen.Point3d`. Location of end 1 in ABS coordinates

  New in version NX4.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## GetEndRcps

`LineSegment.``GetEndRcps`

  Return of segment end control points.

  The `NXOpen.Routing.ControlPoint` defines an end of a segment

  Signature `GetEndRcps()`

  Returns: | a tuple
  Return type: | A tuple consisting of (startRcp, endRcp). startRcp is a `NXOpen.Routing.ControlPoint`. RCP defining start of segment endRcp is a `NXOpen.Routing.ControlPoint`. RCP defining end of segment

  New in version NX4.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## GetGuid

`LineSegment.``GetGuid`

  Returns the Globally Unique Identifier (GUID) for this segment.

  Signature `GetGuid()`

  Returns: | The GUID for this segment.
  Return type: | str

  New in version NX8.0.3.

  License requirements: routing_base (“Routing Basic”)

## GetIntegerCharacteristic

`LineSegment.``GetIntegerCharacteristic`

  Get the value of an integer characteristic associated with the input name.

  Signature `GetIntegerCharacteristic(name)`

  Parameters: | name (str) –
  Returns: |
  Return type: | int

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetIsEccentricSegment

`LineSegment.``GetIsEccentricSegment`

  Is given segment a eccentric segment?

  Signature `GetIsEccentricSegment()`

  Returns: | Is segment a eccentric segment?
  Return type: | `NXOpen.Routing.Eccentric`

  New in version NX8.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## GetIsSegmentInterior

`LineSegment.``GetIsSegmentInterior`

  Query if a segment is interior to any part

  Signature `GetIsSegmentInterior()`

  Returns: | Is segment interior?
  Return type: | `NXOpen.Routing.Interior`

  New in version NX4.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## GetIsTerminalSegment

`LineSegment.``GetIsTerminalSegment`

  Is given segment a terminal segment?

  Signature `GetIsTerminalSegment()`

  Returns: | Is segment a terminal segment?
  Return type: | `NXOpen.Routing.Terminal`

  New in version NX4.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## GetRealCharacteristic

`LineSegment.``GetRealCharacteristic`

  Get the value of a real characteristic associated with the input name.

  Signature `GetRealCharacteristic(name)`

  Parameters: | name (str) –
  Returns: |
  Return type: | float

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetSegmentAllStocks

`LineSegment.``GetSegmentAllStocks`

  Returns `NXOpen.Routing.Stock` as well as `NXOpen.Routing.Overstock` objects from the `NXOpen.Routing.ISegment`.

  Signature `GetSegmentAllStocks()`

  Returns: | Array of stocks/overstocks.
  Return type: | list of `NXOpen.Routing.Stock`

  New in version NX5.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## GetSegmentStock

`LineSegment.``GetSegmentStock`

  Returns all stocks that directly reference this segment as part of the path defining the stock.

  Signature `GetSegmentStock()`

  Returns: |
  Return type: | list of `NXOpen.Routing.Stock`

  New in version NX4.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## GetStringCharacteristic

`LineSegment.``GetStringCharacteristic`

  Get the value of a string characteristic associated with the input name.

  Signature `GetStringCharacteristic(name)`

  Parameters: | name (str) –
  Returns: |
  Return type: | str

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## IsAngleLocked

`LineSegment.``IsAngleLocked`

  Returns whether or not an angle, parallel or perpendicular constraint exists that constrains the angle between this segment and the other input object.

  Both line segments must not be occurrences.

  Signature `IsAngleLocked(object)`

  Parameters: | object (`NXOpen.NXObject`) – Other object
  Returns: | Whether or not the angle is locked.
  Return type: | bool

  New in version NX5.0.0.

  License requirements: routing_base (“Routing Basic”)

## IsLengthLocked

`LineSegment.``IsLengthLocked`

  Returns whether or not a distance constraint exists that constrains the distance between the two end control points of this line segment.

  Signature `IsLengthLocked()`

  Returns: | Whether or not the length is locked.
  Return type: | bool

  New in version NX5.0.0.

  License requirements: routing_base (“Routing Basic”)

## LockAngle

`LineSegment.``LockAngle`

  Adds a constraint to maintain the angle of this line segment with respect to another object.

  It does this by ensuring that there is an angle, perpendicular or parallel constraint between this line segment and the other object. This line segment must not be an occurrence, the other object may be an occurrence.

  See `NXOpen.Positioning.Constraint` for a description of angle, parallel and perpendicular constraints.

  Signature `LockAngle(object, logicalConsOnly)`

  Parameters:

  - object (`NXOpen.NXObject`) – Other object.
  - logicalConsOnly (bool) – if true, only create perpendicular or parallel constraints, if false will also create angle constraints.

  Returns: | The new or existing angle constraint.
  Return type: | `NXOpen.Positioning.Constraint`

  New in version NX5.0.0.

  License requirements: routing_base (“Routing Basic”)

## LockLength

`LineSegment.``LockLength`

  Adds a constraint to maintain the length of this line segment.

  It does this by ensuring that there is a distance constraint between the two end `NXOpen.Routing.ControlPoint` objects of this line segment. See `NXOpen.Positioning.Constraint` for a description of distance constraints.

  Signature `LockLength()`

  Returns: | The new or existing distance constraint between the end control points.
  Return type: | `NXOpen.Positioning.Constraint`

  New in version NX5.0.0.

  License requirements: routing_base (“Routing Basic”)

## Print

`LineSegment.``Print`

  Prints a representation of this object to the system log file.

  Signature `Print()`

  New in version NX3.0.0.

  License requirements: None.

## SetCharacteristic

`LineSegment.``SetCharacteristic`

  Overloaded method SetCharacteristic

  - `SetCharacteristic(name, value)`
  - `SetCharacteristic(name, value)`
  - `SetCharacteristic(name, value)`

  `-------------------------------------`

  Set the value of an integer characteristic associated with the input name, adds a new characteristic to the list if one doesn’t exist already. Converts the type of an existing characteristic with the same name to integer if it’s type is not integer.

  Signature `SetCharacteristic(name, value)`

  Parameters:

  - name (str) –
  - value (int) –

  New in version NX4.0.0.

  Deprecated since version NX11.0.0: Use `NXOpen.Routing.ICharacteristic.SetCharacteristic2()` instead.

  License requirements: routing_base (“Routing Basic”)

  `-------------------------------------`

  Set the value of an real characteristic associated with the input name, adds a new characteristic to the list if one doesn’t exist already. Converts the type of an existing characteristic with the same name to real if it’s type is not real.

  Signature `SetCharacteristic(name, value)`

  Parameters:

  - name (str) –
  - value (float) –

  New in version NX4.0.0.

  Deprecated since version NX11.0.0: Use `NXOpen.Routing.ICharacteristic.SetCharacteristic2()` instead.

  License requirements: routing_base (“Routing Basic”)

  `-------------------------------------`

  Set the value of an string characteristic associated with the input name, adds a new characteristic to the list if one doesn’t exist already. Converts the type of an existing characteristic with the same name to string if it’s type is not string.

  Signature `SetCharacteristic(name, value)`

  Parameters:

  - name (str) –
  - value (str) –

  New in version NX4.0.0.

  Deprecated since version NX11.0.0: Use `NXOpen.Routing.ICharacteristic.SetCharacteristic2()` instead.

  License requirements: routing_base (“Routing Basic”)

  `-------------------------------------`

## SetCharacteristic2

`LineSegment.``SetCharacteristic2`

  Overloaded method SetCharacteristic2

  - `SetCharacteristic2(title, value)`
  - `SetCharacteristic2(title, value)`
  - `SetCharacteristic2(title, value)`

  `-------------------------------------`

  Sets or creates an integer type attribute associated with the input title. creating a new attribute if one doesn’t exist already.

  If the method is called on a stock `Assemblies.Component`, the method will create or edit a part attribute on the stock part. For legacy parts where the attribute is on the stock component, the attribute will be moved to the stock part.

  If the method is called on a non-stock `Assemblies.Component`, the method will create or edit an attribute on the corresponding instance. For legacy parts where the attribute is on the component, the attribute will be moved to the corresponding instance.

  If the method is called on any non-component object, the method will access or create an attribute on the object itself.

  Signature `SetCharacteristic2(title, value)`

  Parameters:

  - title (str) – Unique title for the Attribute or Characteristic
  - value (int) – New Value to be set on the Attribute

  New in version NX11.0.0.

  License requirements: routing_base (“Routing Basic”)

  `-------------------------------------`

  Sets or creates a double type attribute associated with the input title. creating a new attribute if one doesn’t exist already.

  If the method is called on a stock `Assemblies.Component`, the method will create or edit a part attribute on the stock part. For legacy parts where the attribute is on the stock component, the attribute will be moved to the stock part.

  If the method is called on a non-stock `Assemblies.Component`, the method will create or edit an attribute on the corresponding instance. For legacy parts where the attribute is on the component, the attribute will be moved to the corresponding instance.

  If the method is called on any non-component object, the method will access or create an attribute on the object itself.

  Signature `SetCharacteristic2(title, value)`

  Parameters:

  - title (str) – Unique title for the Attribute or Characteristic
  - value (float) – New Value to be set on the Attribute

  New in version NX11.0.0.

  License requirements: routing_base (“Routing Basic”)

  `-------------------------------------`

  Sets or creates a string type type attribute associated with the input title. creating a new attribute if one doesn’t exist already.

  If the method is called on a stock `Assemblies.Component`, the method will create or edit a part attribute on the stock part. For legacy parts where the attribute is on the stock component, the attribute will be moved to the stock part.

  If the method is called on a non-stock `Assemblies.Component`, the method will create or edit an attribute on the corresponding instance. For legacy parts where the attribute is on the component, the attribute will be moved to the corresponding instance.

  If the method is called on any non-component object, the method will access or create an attribute on the object itself.

  Signature `SetCharacteristic2(title, value)`

  Parameters:

  - title (str) – Unique title for the Attribute or Characteristic
  - value (str) – New Value to be set on the Attribute

  New in version NX11.0.0.

  License requirements: routing_base (“Routing Basic”)

  `-------------------------------------`

## SetCharacteristics

`LineSegment.``SetCharacteristics`

  Set all of the characteristics values on this object.

  Signature `SetCharacteristics(values)`

  Parameters: | values (`NXOpen.Routing.CharacteristicList`) –

  New in version NX4.0.0.

  Deprecated since version NX11.0.0: Use `NXOpen.Routing.ICharacteristic.SetCharacteristics2()` instead.

  License requirements: routing_base (“Routing Basic”)

## SetCharacteristics2

`LineSegment.``SetCharacteristics2`

  Sets all attributes associated with the titles from the input list, creating new attributes for the ones that don’t exist already.

  If the method is called on a stock `Assemblies.Component`, the method will create or edit part attributes on the stock part. For legacy parts where the attributes are on the stock component, the attributes will be moved to the stock part.

  If the method is called on a non-stock `Assemblies.Component`, the method will create or edit attributes on the corresponding instance. For legacy parts where the attribute is on the component, the attributes will be moved to the corresponding instance.

  If the method is called on any non-component object, the method will access or create attributes on the object itself.

  Signature `SetCharacteristics2(values)`

  Parameters: | values (`NXOpen.Routing.CharacteristicList`) – `NXOpen.Routing.CharacteristicList` having the titles, types and values of Attributes to be set

  New in version NX11.0.0.

  License requirements: routing_base (“Routing Basic”)

## SetEndPoints

`LineSegment.``SetEndPoints`

  Set the current location of the segment ends in ABS coordinates.

  This value is overridden by the coordinates of the end RCPs associated with this segment.

  Signature `SetEndPoints(startPoint, endPoint)`

  Parameters:

  - startPoint (`NXOpen.Point3d`) – New location of end 0 in ABS coordinates
  - endPoint (`NXOpen.Point3d`) – New location of end 1 in ABS coordinates

  New in version NX4.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## SetEndRcps

`LineSegment.``SetEndRcps`

  Signature `SetEndRcps(startRcp, endRcp)`

  Parameters:

  - startRcp (`NXOpen.Routing.ControlPoint`) – RCP defining start of segment
  - endRcp (`NXOpen.Routing.ControlPoint`) – RCP defining end of segment

  New in version NX4.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## SetIsTerminalSegment

`LineSegment.``SetIsTerminalSegment`

  Set given segment to be a terminal segment?

  Signature `SetIsTerminalSegment(isTerminal)`

  Parameters: | isTerminal (`NXOpen.Routing.Terminal`) – Set as terminal segment?

  New in version NX4.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## SetName

`LineSegment.``SetName`

  Sets the custom name of the object.

  NOTE: This method should not be used to edit a read-only object such as a Mirrored PMI object. If it is, the changes will be overridden when the part is updated.

  Signature `SetName(name)`

  Parameters: | name (str) –

  New in version NX3.0.0.

  License requirements: None.

## SetSegmentInteriorPart

`LineSegment.``SetSegmentInteriorPart`

  Set a segment to be interior to supplied part

  Signature `SetSegmentInteriorPart(interiorPart)`

  Parameters: | interiorPart (`NXOpen.Assemblies.Component`) – Part segment interior?

  New in version NX4.0.0.

  License requirements: routing_advanced (“Routing Advanced”), routing_base (“Routing Basic”)

## UnlockAngle

`LineSegment.``UnlockAngle`

  Removes the angle, parallel or perpendicular constraint that constrains the angle between this line segment and the input object.

  This line segment must not be an occurrence.

  Call `NXOpen.Update.DoUpdate()` afterwards to ensure that the constraint is fully deleted.

  Signature `UnlockAngle(object)`

  Parameters: | object (`NXOpen.NXObject`) – Other object

  New in version NX5.0.0.

  License requirements: routing_base (“Routing Basic”)

## UnlockLength

`LineSegment.``UnlockLength`

  Removes the distance constraint that constrains the distance between the two end control points of this line segment.

  Call `NXOpen.Update.DoUpdate()` afterwards to ensure that the constraint is fully deleted.

  Signature `UnlockLength()`

  New in version NX5.0.0.

  License requirements: routing_base (“Routing Basic”)