Stock Class — NXOpen Python API Reference 12.0.0 documentation

# Stock Class

class `NXOpen.Routing.``Stock`

  Bases: `NXOpen.NXObject`, `NXOpen.Routing.ICharacteristic`

  The `NXOpen.Routing.Stock` object represents a material (such as as pipe or tube) that covers a path of segments. The material is defined in the `NXOpen.Routing.StockData` object. `NXOpen.Routing.Stock` consists of a `NXOpen.Routing.StockData` object, as well as references to at most one of the `NXOpen.Routing.CrossSection` and `NXOpen.Routing.Anchor` objects that are associated with that `NXOpen.Routing.StockData`.

  A `NXOpen.Routing.Stock` object may exist in one of two modes ; Legacy Stock or Stock as Components Stock. Legacy Stock is modeled as a sweep feature in the work part. Stock as Components Stock is modeled as a child component (of the work part) that contains a sweep feature. Legacy Stock and Stock as Components stock cannot exist in the same part file with the exception of Bundled stock.

  Stock as Components Stock creates a component file, and creates a copy of itself inside of that part file. Segments, anchors, and all other necessary information are copied into the component part file. The stock inside of the component file should not be edited or modified as it is completely controlled by the Stock as Component Stock in the work part.

  `NXOpen.Routing.Stock` object that have automatically been generated by the bundling algorithm used for routing wires are Bundled stock. Bundled stocks are always created as Legacy Stocks (even in parts containing Stock as Component stocks). Any `NXOpen.Routing.StockData` object that defines a bundled stock has a type of `RoutingStockDataType.Bundled`. Editing the segments or the stock data of a Bundled stock may result in undefined behavior.

  With the exception of stock style, there are no functional differences between the two stock types. Stock as Components Stock always uses the `NXOpen.Routing.StockStyle.Detailed` style (if available, otherwise it uses the `NXOpen.Routing.StockStyle.Simple` style) and the stock’s style cannot be changed.

  Creator not available in KF because transient objects are not supported.

  New in version NX4.0.0.

# Properties

Property | Description
--- | ---
IsOccurrence | Returns whether this object is an occurrence or not.
JournalIdentifier | Returns the identifier that would be recorded in a journal for this object.
Name | Returns the custom name of the object.
NegateOffsetsFlag | Returns or sets the negate offsets flag of this `NXOpen.Routing.Stock`.
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.
Tag | Returns the Tag for this object.

# Methods

Method | Description
--- | ---
AddSegments | Adds new segments to this object.
AlignStock | Align stock to new rotation vector.
ColorBodies | Colors the solid bodies of the stock based on the COLOR characteristic specified in the `NXOpen.Routing.StockData` of the stock.
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
FindObject | Finds the `NXOpen.NXObject` with the given identifier as recorded in a journal.
GetAnchor | Gets the `NXOpen.Routing.Anchor` that currently modifies the profile for the stock.
GetAttributeTitlesByType | Gets all the attribute titles of a specific type.
GetBodies | Returns the solid bodies, if any, that are created and controlled by this object.
GetBodySegmentMap | Given stock and a feature of the stock, returns solid body, stock segments and path segments that produced the body.
GetBooleanUserAttribute | Gets a boolean attribute by Title and array Index.
GetCharacteristics | Get all of the characteristics values on the this object.
GetComponent | Returns the `NXOpen.Assemblies.Component` created and controlled by the stock for a Stock as Components stock.
GetComputationalTimeUserAttribute | Gets a time attribute by Title and array Index.
GetCrossSection | Gets the `NXOpen.Routing.CrossSection` that currently defines the profile for the stock.
GetDestinationCharacteristics | Returns the destination characteristics from the input object.
GetFeatures | Returns the sweep features that are created and controlled by this object.
GetFlippedStatus | Gets whether or not the profile is flipped.
GetHarnessDevice | For Routing Electrical application only, returns the `Routing.Electrical.HarnessDevice` that owns the wire or wires that make up a stock bundle.
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.
GetNameStatus | Returns whether or not the component associated with a Stock as Components Stock has a permanent or temporary name.
GetNextUserAttribute | Gets the next attribute encountered on the object, if any, that satisfies the given iterator.
GetOriginalLength | Returns the original length for a stock that has been deformed (it’s use is `RoutingStockUse.Deformed`).
GetPdmReferenceAttributeValue | Gets the value of PDM Reference attribute for given object.
GetPorts | Returns the `NXOpen.Routing.StockPort` at each end of the stock.
GetProfileEnd | Gets the end that defines profile.
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.
GetRotationAngle | Gets the rotation angle applied to the profile.
GetSegments | Gets the segments that the `NXOpen.Routing.Stock` object is placed on top of.
GetStockData | Gets the `NXOpen.Routing.StockData`.
GetStockStyle | Gets the `NXOpen.Routing.StockStyle` of the `NXOpen.Routing.Stock`.
GetStockUse | Returns the use of 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.
GetTwistAngle | Gets the twist angle applied to the profile.
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
IsSpaceReservation | Is this stock a Space Reservation stock?.
Print | Prints a representation of this object to the system log file.
RemoveSegments | Removes segments from this object.
RenameStockComponent | Renames the stock component part with given name
SetAnchor | Sets the `NXOpen.Routing.Anchor`.
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.
SetCrossSection | Sets the `NXOpen.Routing.CrossSection`.
SetFlippedStatus | Sets whether or not the profile is flipped.
SetName | Sets the custom name of the object.
SetPdmReferenceAttribute | Sets the value of PDM Reference attribute on the object.
SetProfileEnd | Sets the end that defines profile.
SetReferenceAttribute | Creates or modifies a string attribute which uses a reference string.
SetRotationAngle | Sets the rotation angle applied to the profile.
SetStockData | Sets the `NXOpen.Routing.StockData`.
SetStockStyle | Sets the `NXOpen.Routing.StockStyle` of the `NXOpen.Routing.Stock`.
SetTimeAttribute | Creates or modifies a time attribute.
SetTimeUserAttribute | Creates or modifies a time attribute with the option to update or not.
SetTwistAngle | Sets the twist angle applied to the profile.
SetUserAttribute | Creates or modifies an attribute with the option to update or not.
SetUserAttributeLock | Lock or unlock the given attribute.
SyncComponentAttrs | Set the characteristics of the given stock’s component so that it has the same characteristics as the `NXOpen.Routing.Stock` and its stock data.

# Property Detail

## IsOccurrence

`Stock.``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.

## JournalIdentifier

`Stock.``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.

## Name

`Stock.``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.

## NegateOffsetsFlag

`Stock.``NegateOffsetsFlag`

  Returns or sets the negate offsets flag of this `NXOpen.Routing.Stock`.

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

  Getter Method

  Signature `NegateOffsetsFlag`

  Returns: |
  Return type: | bool

  New in version NX5.0.0.

  License requirements: routing_base (“Routing Basic”)

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

  Setter Method

  Signature `NegateOffsetsFlag`

  Parameters: | offsetFlag (bool) –

  New in version NX5.0.0.

  License requirements: routing_base (“Routing Basic”)

## OwningComponent

`Stock.``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

`Stock.``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

`Stock.``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

## AddSegments

`Stock.``AddSegments`

  Adds new segments to this object.

  If the new segments (added to the old segments) do not form a single continuous path, the `NXOpen.Routing.Stock` will split so that there is a copy of this object on each continuous path formed by the input segments.

  Signature `AddSegments(segments)`

  Parameters: | segments (list of `NXOpen.Curve`) – List of segments to add. Ignores any segments that are already referenced by this object.

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## AlignStock

`Stock.``AlignStock`

  Align stock to new rotation vector.

  Signature `AlignStock(vector)`

  Parameters: | vector (`NXOpen.Vector3d`) – Rotation vector.

  New in version NX5.0.0.

  License requirements: routing_base (“Routing Basic”)

## ColorBodies

`Stock.``ColorBodies`

  Colors the solid bodies of the stock based on the COLOR characteristic specified in the `NXOpen.Routing.StockData` of the stock.

  The color string can contain the name of a color, a hex string specifying the RGB values, a comma separated list of RGB integer values and a simple integer specifying the color index directly.

  Signature `ColorBodies()`

  New in version NX5.0.0.

  License requirements: routing_base (“Routing Basic”)

## DeleteCharacterstics

`Stock.``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

`Stock.``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.

## GetAnchor

`Stock.``GetAnchor`

  Gets the `NXOpen.Routing.Anchor` that currently modifies the profile for the stock.

  Signature `GetAnchor()`

  Returns: | Returns None if this object isn’t using an `NXOpen.Routing.Anchor`
  Return type: | `NXOpen.Routing.Anchor`

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetBodies

`Stock.``GetBodies`

  Returns the solid bodies, if any, that are created and controlled by this object.

  For Stock as Components stock, the bodies exist in a separate part file. For Legacy Stock the bodies exist in the same part as the input object.

  Signature `GetBodies()`

  Returns: |
  Return type: | list of `NXOpen.Body`

  New in version NX10.0.3.

  License requirements: routing_base (“Routing Basic”)

## GetBodySegmentMap

`Stock.``GetBodySegmentMap`

  Given stock and a feature of the stock, returns solid body, stock segments and path segments that produced the body.

  Path segments are the visible segments over which the stock is created. Stock segments may be same as the path segments or those may be hidden segments created for the stock. In case of `NXOpen.Routing.Overstock` stockSegments are hidden and path segments are visible. There may be many stock segments created on a single path segment in that case. Usage: 1. Query features for a stock. If an overstock is applied on a path with a sharp corner, it may have created multiple features. 2.Call this method for every feature in a loop.

  Signature `GetBodySegmentMap(feature)`

  Parameters: | feature (`NXOpen.Features.Feature`) – Stock sweep feature.
  Returns: | a tuple
  Return type: | A tuple consisting of (body, stockSegments, pathSegments). body is a `NXOpen.Body`. Solid body of the stock sweep. stockSegments is a list of `NXOpen.Curve`. Stock segments. Hidden segments in case of overstocks. pathSegments is a list of `NXOpen.Curve`. Path segments. Same as stock segments for stock but visible path segments for overstock.

  New in version NX11.0.1.

  License requirements: routing_base (“Routing Basic”)

## GetCharacteristics

`Stock.``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”)

## GetComponent

`Stock.``GetComponent`

  Returns the `NXOpen.Assemblies.Component` created and controlled by the stock for a Stock as Components stock.

  Only returns a component if the stock type is `RoutingStockUse.StockAsComponent`.

  Signature `GetComponent()`

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

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetCrossSection

`Stock.``GetCrossSection`

  Gets the `NXOpen.Routing.CrossSection` that currently defines the profile for the stock.

  Signature `GetCrossSection()`

  Returns: | Returns None if this object is using stock style :py:class:`

  RoutingStockStyle.None < RoutingStockStyle>` :rtype: `NXOpen.Routing.CrossSection`

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetDestinationCharacteristics

`Stock.``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”)

## GetFeatures

`Stock.``GetFeatures`

  Returns the sweep features that are created and controlled by this object.

  For Stock as Components stock, the features exist in a separate part file. For Legacy Stock the features exist in the same part as the input object.

  Signature `GetFeatures()`

  Returns: | Sweep features.
  Return type: | list of `NXOpen.Features.Feature`

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetFlippedStatus

`Stock.``GetFlippedStatus`

  Gets whether or not the profile is flipped.

  Signature `GetFlippedStatus()`

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

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetHarnessDevice

`Stock.``GetHarnessDevice`

  For Routing Electrical application only, returns the `Routing.Electrical.HarnessDevice` that owns the wire or wires that make up a stock bundle.

  Will return None if this stock is not a wire, cable, or shield bundle.

  Signature `GetHarnessDevice()`

  Returns: |
  Return type: | `NXOpen.Routing.Electrical.HarnessDevice`

  New in version NX11.0.2.

  License requirements: routing_base (“Routing Basic”)

## GetIntegerCharacteristic

`Stock.``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”)

## GetNameStatus

`Stock.``GetNameStatus`

  Returns whether or not the component associated with a Stock as Components Stock has a permanent or temporary name.

  Signature `GetNameStatus()`

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

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetOriginalLength

`Stock.``GetOriginalLength`

  Returns the original length for a stock that has been deformed (it’s use is `RoutingStockUse.Deformed`).

  This is the length of the original stock in the component part at the time that the deformed stock was created.

  Signature `GetOriginalLength()`

  Returns: | The original length in units of the original part file.
  Return type: | float

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetPorts

`Stock.``GetPorts`

  Returns the `NXOpen.Routing.StockPort` at each end of the stock.

  Signature `GetPorts()`

  Returns: | a tuple
  Return type: | A tuple consisting of (startPort, endPort). startPort is a `NXOpen.Routing.StockPort`. Port at the start of the first segment. endPort is a `NXOpen.Routing.StockPort`. Port at the end of the last segment.

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetProfileEnd

`Stock.``GetProfileEnd`

  Gets the end that defines profile.

  Signature `GetProfileEnd()`

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

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetRealCharacteristic

`Stock.``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”)

## GetRotationAngle

`Stock.``GetRotationAngle`

  Gets the rotation angle applied to the profile.

  Signature `GetRotationAngle()`

  Returns: | The angle in radians.
  Return type: | float

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetSegments

`Stock.``GetSegments`

  Gets the segments that the `NXOpen.Routing.Stock` object is placed on top of.

  Signature `GetSegments()`

  Returns: |
  Return type: | list of `NXOpen.Curve`

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetStockData

`Stock.``GetStockData`

  Gets the `NXOpen.Routing.StockData`.

  Signature `GetStockData()`

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

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetStockStyle

`Stock.``GetStockStyle`

  Gets the `NXOpen.Routing.StockStyle` of the `NXOpen.Routing.Stock`.

  Signature `GetStockStyle()`

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

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetStockUse

`Stock.``GetStockUse`

  Returns the use of the stock.

  Signature `GetStockUse()`

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

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## GetStringCharacteristic

`Stock.``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”)

## GetTwistAngle

`Stock.``GetTwistAngle`

  Gets the twist angle applied to the profile.

  Signature `GetTwistAngle()`

  Returns: | The angle in radians.
  Return type: | float

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## IsSpaceReservation

`Stock.``IsSpaceReservation`

  Is this stock a Space Reservation stock?.

  Signature `IsSpaceReservation()`

  Returns: |
  Return type: | bool

  New in version NX11.0.2.

  License requirements: routing_base (“Routing Basic”)

## Print

`Stock.``Print`

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

  Signature `Print()`

  New in version NX3.0.0.

  License requirements: None.

## RemoveSegments

`Stock.``RemoveSegments`

  Removes segments from this object.

  If the segments of this object (after removing the input segments) do not form a single continuous path, the `NXOpen.Routing.Stock` will split so that there is a copy of this object on each continuous path. This object will delete itself inside of update if all segments are removed.

  Signature `RemoveSegments(segments)`

  Parameters: | segments (list of `NXOpen.Curve`) – List of segments to remove. Ignores any segments that are not already referenced by this object.

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## RenameStockComponent

`Stock.``RenameStockComponent`

  Renames the stock component part with given name

  Signature `RenameStockComponent(partName)`

  Parameters: | partName (str) – Part name to be set

  New in version NX7.5.4.

  License requirements: routing_base (“Routing Basic”)

## SetAnchor

`Stock.``SetAnchor`

  Sets the `NXOpen.Routing.Anchor`.

  The given object must be one of the `NXOpen.Routing.Anchor` objects referenced by the `NXOpen.Routing.StockData` object that defines this `NXOpen.Routing.Stock` object.

  Signature `SetAnchor(anchor)`

  Parameters: | anchor (`NXOpen.Routing.Anchor`) – Must be referenced by the `NXOpen.Routing.StockData` associated with this `NXOpen.Routing.Stock` object.

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## SetCharacteristic

`Stock.``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

`Stock.``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

`Stock.``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

`Stock.``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”)

## SetCrossSection

`Stock.``SetCrossSection`

  Sets the `NXOpen.Routing.CrossSection`.

  The given object must be one of the `NXOpen.Routing.CrossSection` objects referenced by the `NXOpen.Routing.StockData` object that defines this `NXOpen.Routing.Stock` object. `NXOpen.Routing.Stock.SetStockStyle()` should be used (when possible) instead of this routine.

  Signature `SetCrossSection(crossSection)`

  Parameters: | crossSection (`NXOpen.Routing.CrossSection`) – Must be referenced by the `NXOpen.Routing.StockData` associated with this `NXOpen.Routing.Stock` object.

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## SetFlippedStatus

`Stock.``SetFlippedStatus`

  Sets whether or not the profile is flipped.

  See the user help documentation on Orient Stock for more information.

  Signature `SetFlippedStatus(flipped)`

  Parameters: | flipped (`NXOpen.Routing.Flip`) –

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## SetName

`Stock.``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.

## SetProfileEnd

`Stock.``SetProfileEnd`

  Sets the end that defines profile.

  See the user help documentation on Orient Stock for more information.

  Signature `SetProfileEnd(profileEnd)`

  Parameters: | profileEnd (`NXOpen.Routing.ProfileFrom`) –

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## SetRotationAngle

`Stock.``SetRotationAngle`

  Sets the rotation angle applied to the profile.

  See the user help documentation on Orient Stock for more information.

  Signature `SetRotationAngle(rotationAngle)`

  Parameters: | rotationAngle (float) – The angle in radians. Valid values are 0.0 to ( 2 * Pi ).

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## SetStockData

`Stock.``SetStockData`

  Sets the `NXOpen.Routing.StockData`.

  After setting the StockData, the caller must also make sure to set the CrossSection and Anchor so that the `NXOpen.Routing.Stock` object only references objects associated with this `NXOpen.Routing.StockData` object.

  Signature `SetStockData(stockData)`

  Parameters: | stockData (`NXOpen.Routing.StockData`) –

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## SetStockStyle

`Stock.``SetStockStyle`

  Sets the `NXOpen.Routing.StockStyle` of the `NXOpen.Routing.Stock`.

  This may cause update to fire, and can be a time-consuming operation as it may require the building of a new sweep feature. When style is set to `NXOpen.Routing.StockStyle.None` this routine deletes the stock sweep feature. Only call on Legacy Stocks.

  Signature `SetStockStyle(style)`

  Parameters: | style (`NXOpen.Routing.StockStyle`) –

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## SetTwistAngle

`Stock.``SetTwistAngle`

  Sets the twist angle applied to the profile.

  See the user help documentation on Orient Stock for more information.

  Signature `SetTwistAngle(twistAngle)`

  Parameters: | twistAngle (float) – The angle in radians. Valid values are 0.0 to ( 2 * Pi ).

  New in version NX4.0.0.

  License requirements: routing_base (“Routing Basic”)

## SyncComponentAttrs

`Stock.``SyncComponentAttrs`

  Set the characteristics of the given stock’s component so that it has the same characteristics as the `NXOpen.Routing.Stock` and its stock data.

  Signature `SyncComponentAttrs(isNewPart)`

  Parameters: | isNewPart (bool) – Is the part new?

  New in version NX5.0.0.

  License requirements: routing_base (“Routing Basic”)