Network Class — NXOpen Python API Reference 12.0.0 documentation

# Network Class

class `NXOpen.Positioning.``Network`

  Bases: `NXOpen.NXObject`

  Network for use in positioning objects in NX.

  A network consists of explicitly added constraints and movable objects together with others implicitly added because they are connected by to those in the network.

  Use `Positioning.Positioner.EstablishNetwork()` to create an instance of this class.

  New in version NX4.0.0.

# Properties

Property | Description
--- | ---
DisplayComponent | Returns or sets the `Assemblies.Component` in which the display is changed by solving the network.
IsOccurrence | Returns whether this object is an occurrence or not.
JournalIdentifier | Returns the identifier that would be recorded in a journal for this object.
MoveObjectsState | Returns or sets the move objects state for the network.
Name | Returns the custom name of the object.
NonMovingGroupGrounded | Returns or sets the grounded state of non-moving_group objects.
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
--- | ---
AddConstraint | Add a `Constraint` to the network.
AddMovableObject | Add a movable object to the network.
ApplyToModel | Applies the current network state to the model.
BeginDrag | Notify the network that a sequence of drag operations is about to begin.
CreateAttributeIterator | Create an attribute iterator
DeleteAllAttributesByType | Deletes all attributes of a specific type.
DeleteAttributeByTypeAndTitle | Deletes an attribute by type and title.
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
DragByRay | Move objects which have been added to the network using `Positioning.Network.AddMovableObject()`.
DragByTransform | Move objects which have been added to the network using `Positioning.Network.AddMovableObject()`.
DragByTranslation | Move objects which have been added to the network using `Positioning.Network.AddMovableObject()`.
EmptyMovingGroup | Remove all elements from the moving_group.
EndDrag | Notify the network that a sequence of drag operations has ended.
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.
GetComputationalTimeUserAttribute | Gets a time attribute by Title and array Index.
GetIntegerAttribute | Gets an integer attribute by title.
GetIntegerUserAttribute | Gets an integer attribute by Title and array Index.
GetMovableObjectStatus | Returns the solver status of a movable object.
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.
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.
GetStringAttribute | Gets a string attribute value by title.
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
IsReferencedGeometryLoaded | Are the necessary objects loaded so that all connected constraints can be included during a drag or solve ?
LoadReferencedGeometry | Load the necessary objects so that all connected constraints can be included during a drag or solve.
Print | Prints a representation of this object to the system log file.
RemoveAllConstraints | Remove all :py:class:`Constraint`s which have been explcitly added to the network.
RemoveConstraint | Remove a `Constraint` from the network.
RemoveMovableObject | Remove a movable object from the network.
ResetDisplay | Returns the display objects to their model positions.
SetAttribute | Creates or modifies an integer attribute.
SetBooleanUserAttribute | Creates or modifies a boolean attribute with the option to update or not.
SetMovingGroup | Set the elements of the moving_group.
SetName | Sets the custom name of the object.
SetPdmReferenceAttribute | Sets the value of PDM Reference attribute on the object.
SetReferenceAttribute | Creates or modifies a string attribute which uses a reference string.
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.
Solve | Solves the constraint network.

# Enumerations

NetworkObjectStatus Enumeration | Specifies the solver status of a movable object.

# Property Detail

## DisplayComponent

`Network.``DisplayComponent`

  Returns or sets the `Assemblies.Component` in which the display is changed by solving the network.

  The display component can be None if display changes are made in the part of the network. The prototype of the display component should be the part containing the network.

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

  Getter Method

  Signature `DisplayComponent`

  Returns: | The component in which the constraints are displayed. Can be NULL.
  Return type: | `NXOpen.Assemblies.Component`

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

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

  Setter Method

  Signature `DisplayComponent`

  Parameters: | displayComponent (`NXOpen.Assemblies.Component`) – The component in which the constraints are displayed. Can be NULL.

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## IsOccurrence

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

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

## MoveObjectsState

`Network.``MoveObjectsState`

  Returns or sets the move objects state for the network.

  When set the display positions of objects are immediately updated upon constraint creation or edit.

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

  Getter Method

  Signature `MoveObjectsState`

  Returns: |
  Return type: | bool

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

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

  Setter Method

  Signature `MoveObjectsState`

  Parameters: | moveObjectsState (bool) –

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## Name

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

## NonMovingGroupGrounded

`Network.``NonMovingGroupGrounded`

  Returns or sets the grounded state of non-moving_group objects.

  When set all objects outside the moving_group are fixed and will not move during a solve or drag.

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

  Getter Method

  Signature `NonMovingGroupGrounded`

  Returns: |
  Return type: | bool

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

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

  Setter Method

  Signature `NonMovingGroupGrounded`

  Parameters: | ground (bool) –

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## OwningComponent

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

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

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

## AddConstraint

`Network.``AddConstraint`

  Add a `Constraint` to the network.

  Signature `AddConstraint(constraint)`

  Parameters: | constraint (`NXOpen.Positioning.Constraint`) – The `Constraint` to be added

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## AddMovableObject

`Network.``AddMovableObject`

  Add a movable object to the network.

  An object explicitly added by this method will be directly moved by calls to `Positioning.Network.DragByRay()`, `Positioning.Network.DragByTransform()` and `Positioning.Network.DragByTranslation()`.

  Signature `AddMovableObject(movableObject)`

  Parameters: | movableObject (`NXOpen.NXObject`) – An `NXObject` to be moved

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## ApplyToModel

`Network.``ApplyToModel`

  Applies the current network state to the model.

  This may change the position of movable objects and the status of constraints in the model. Does not do a solve or an update.

  Signature `ApplyToModel()`

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## BeginDrag

`Network.``BeginDrag`

  Notify the network that a sequence of drag operations is about to begin.

  This must be called before a series of calls to `Positioning.Network.DragByRay()`, `Positioning.Network.DragByTransform()` or `Positioning.Network.DragByTranslation()`. Following a drag, and before any other changes to a network are made, `Positioning.Network.EndDrag()` should be called.

  Signature `BeginDrag()`

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## DragByRay

`Network.``DragByRay`

  Move objects which have been added to the network using `Positioning.Network.AddMovableObject()`.

  Constraints are honored during the drag so that other objects may also move as a result of this call. On the first call to this method, a notional point is added to each of the objects to be dragged. On subsequent calls, this notional point, and hence the dragged object, is kept as close as possible to the ray determined by point and direction. If there are no constraints then the point will stay on the ray.

  A series of calls to this method can be made between calls to `Positioning.Network.BeginDrag()` and `Positioning.Network.EndDrag()`.

  Signature `DragByRay(point, direction)`

  Parameters:

  - point (`NXOpen.Point3d`) – A point on the ray
  - direction (`NXOpen.Vector3d`) – The direction of the ray

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## DragByTransform

`Network.``DragByTransform`

  Move objects which have been added to the network using `Positioning.Network.AddMovableObject()`.

  Constraints are honored during the drag so that other objects may also move as a result of this call. The rotation is applied first, then the translation.

  A series of calls to this method can be made between calls to `Positioning.Network.BeginDrag()` and `Positioning.Network.EndDrag()`.

  Signature `DragByTransform(translation, rotation)`

  Parameters:

  - translation (`NXOpen.Vector3d`) – The translation to be applied
  - rotation (`NXOpen.Matrix3x3`) – The rotation to be applied

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## DragByTranslation

`Network.``DragByTranslation`

  Move objects which have been added to the network using `Positioning.Network.AddMovableObject()`.

  Constraints are honored during the drag so that other objects may also move as a result of this call.

  Unlike `Positioning.Network.DragByTransform()` there is no rotational element passed in. This can improve the behavior of the constraint solver.

  A series of calls to this method can be made between calls to `Positioning.Network.BeginDrag()` and `Positioning.Network.EndDrag()`.

  Signature `DragByTranslation(translation)`

  Parameters: | translation (`NXOpen.Vector3d`) – The translation to be applied

  New in version NX6.0.4.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## EmptyMovingGroup

`Network.``EmptyMovingGroup`

  Remove all elements from the moving_group.

  See `Positioning.Network.SetMovingGroup()`.

  Signature `EmptyMovingGroup()`

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## EndDrag

`Network.``EndDrag`

  Notify the network that a sequence of drag operations has ended.

  This must be called after a series of calls to `Positioning.Network.DragByRay()`, `Positioning.Network.DragByTransform()` or `Positioning.Network.DragByTranslation()`.

  Signature `EndDrag()`

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## FindObject

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

## GetMovableObjectStatus

`Network.``GetMovableObjectStatus`

  Returns the solver status of a movable object.

  Signature `GetMovableObjectStatus(movableObject)`

  Parameters: | movableObject (`NXOpen.NXObject`) – An `NXObject` positioned by the network
  Returns: | The solver status of the movable object
  Return type: | `NXOpen.Positioning.NetworkObjectStatus`

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## IsReferencedGeometryLoaded

`Network.``IsReferencedGeometryLoaded`

  Are the necessary objects loaded so that all connected constraints can be included during a drag or solve ?

  Signature `IsReferencedGeometryLoaded()`

  Returns: |
  Return type: | bool

  New in version NX5.0.1.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## LoadReferencedGeometry

`Network.``LoadReferencedGeometry`

  Load the necessary objects so that all connected constraints can be included during a drag or solve.

  If an object is not loaded then the part containing it will be fully loaded by this call.

  Signature `LoadReferencedGeometry()`

  New in version NX5.0.1.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## Print

`Network.``Print`

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

  Signature `Print()`

  New in version NX3.0.0.

  License requirements: None.

## RemoveAllConstraints

`Network.``RemoveAllConstraints`

  Remove all :py:class:`Constraint`s which have been explcitly added to the network. Those constraints connected to explcicitly added movable objects will still be include in a network solve.

  Signature `RemoveAllConstraints()`

  New in version NX6.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## RemoveConstraint

`Network.``RemoveConstraint`

  Remove a `Constraint` from the network. A constraint explicitly removed by this method may still included in a network solve if connected to another constraint or movable object which has been explicitly added.

  Signature `RemoveConstraint(constraint)`

  Parameters: | constraint (`NXOpen.Positioning.Constraint`) – The `Constraint` to be removed

  New in version NX6.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## RemoveMovableObject

`Network.``RemoveMovableObject`

  Remove a movable object from the network.

  An object explicitly removed by this method will not be directly moved by calls to `Positioning.Network.DragByRay()`, `Positioning.Network.DragByTransform()` and `Positioning.Network.DragByTranslation()`, though it may still be moved indirectly if constrained to other movable objects.

  Signature `RemoveMovableObject(movableObject)`

  Parameters: | movableObject (`NXOpen.NXObject`) – An `NXObject` to be removed from the network

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## ResetDisplay

`Network.``ResetDisplay`

  Returns the display objects to their model positions.

  Signature `ResetDisplay()`

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## SetMovingGroup

`Network.``SetMovingGroup`

  Set the elements of the moving_group.

  The elements of the moving_group will move as a rigid body during a solve or drag operation. Objects outside the moving group can all be prevented from moving by setting `Positioning.Network.NonMovingGroupGrounded`()`

  Signature `SetMovingGroup(movableObjects)`

  Parameters: | movableObjects (list of `NXOpen.NXObject`) – The :py:class:`NXObject`s to be moved

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)

## SetName

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

## Solve

`Network.``Solve`

  Solves the constraint network.

  Does apply the results to the model but does not do an update.

  Signature `Solve()`

  New in version NX4.0.0.

  License requirements: assemblies (“ASSEMBLIES MODULE”)