SymmetryConstraint (hwx.inspire.core)

Symmetry and Cyclic Shape Controls.

Symmetry and cyclic repetition are used to create optimized shapes with repeating patterns and/or nearly symmetric results. Both are valid for optimization but not analysis. There are two kinds of cyclic shapes: those with symmetric sectors and those with asymmetric sectors.

You can only apply one type of symmetry constraint to a design space.

  • Choose SYMMETRIC to apply symmetry planes to a design space.

  • Choose CYCLIC_SYMMETRIC to apply cyclic symmetric repetition to a design space.

  • Choose CYCLIC to apply cyclic repetition to a design space.


active: Bool

activePlanes: Attribute

color: Color

connectionRadius: Double

connectionType: Enum

direction: Direction

distributed: Bool

features: Attribute

localToPart: Bool

location: Location

mode: Enum

name: Attribute

part: Attribute

parts: Attribute

sectors: Int

type: Enum

visible: Bool

Public Methods

classmethod getClass (cls, className)

classmethod importLoads (cls, csvFile)

destroy (self)

getAllChildren (self, type=None, **kwds)

getChild (self, name=None, recursive=False, **kwds)

getChildren (self, type=None, recursive=False, sorted=False, **kwds)

getDependents (self, recursive=False, **kwds)

getReferences (self, recursive=False, **kwds)

isa (self, type=None, filter=None, name=None, wildcard=None, **kwds)

modelPositions (self)

updatePosition (self, m44)

Attribute Details

active : Bool

Returns or sets the object activeness.

Setting this on or off sets all children. Setting to True sets all the parents active too.

activePlanes : Attribute

Sets/gets the list of planes that symmetry has been applied to.

Valid values are:




color : Color

The color assigned to the boundary condition.

connectionRadius : Double (units=”length”)

The search radius for the boundary condition.

connectionType : Enum (rigid, flexible)

The type of the connection. Valid choices are:

  • rigid

  • flexible

direction : Direction

The direction of vector the boundary condition.

distributed : Bool

Returns whether the applied boundary condition is distributed or not.

Boundary conditions applied across the entire feature area (for faces) or length (for edges) are distributed and at a single point boundary conditions are non-distributed.

features : Attribute

The list of features to which the boundary condition is applied.

localToPart : Bool

Returns or sets ‘Rotate with part’.

It makes boundary condition not to rotate or rotate along with its associated part.

location : Location (units=”length”)

The location of the boundary condition.

mode : Enum (direction, components)

Specifies the mode of the boundary condition.

Valid choices are:

  • direction

  • components

name : Attribute

Returns or sets the name of the object.

It can be any text string, including spaces, although it’s best to avoid using the following characters: ” ‘ * ? and $.

While these characters are allowed, they could create difficulties when you export the model to other applications.

part : Attribute

Returns the part on which the entity is applied graphically.

parts : Attribute

The list of parts on which the boundary condition is applied.

sectors : Int

Sets/Gets the number of sectors.


Sets/Gets the type of the symmetric constraint.

visible : Bool

Determines whether the boundary condition is visible or not.

Method Details

classmethod getClass(cls, className)

Returns the class of the object.

It can be simple or qualified (with namespace). If the name is simple, we prepend the cls.namespace.

param className

The class name.

type className

Union[Part, Occurrence, Named..]


The class for the specified className.


Union[Part, Occurrence, Named..]

classmethod importLoads(cls, csvFile)

Imports boundary conditions to the active model from a csv file.

param csvFile

Csv file name containing all the BC information.

type csvFile



List of error msgs that happened during import of all the boundary conditions.




Delete the object removing it from the model.

The object may come back due to an undo/redo.

getAllChildren(self, type=None, **kwds)

Returns a list of all children that matches the specified type.

param type

Filter to use to get the children based on object type.

type type


param **kwds

Additional keyword arguments to match other attributes of the object.


The list of children that satisfy the supplied filters.


list[Union[Part, Motor, BoundaryCondition, …]]

getChild(self, name=None, recursive=False, **kwds)

Returns the child of the object which matches the specified unique name.

param name

The name of the child object.

type name


param recursive

Search all descendents.

type recursive


param **kwds

Additional keyword arguments to match attributes of the object.


The child object which satisfies the specified filters.



getChildren(self, type=None, recursive=False, sorted=False, **kwds)

Returns a list of children that is of the specified type.

param type

Filter objects by class.

type type


param recursive

True to get all descendent Parts and Assemblies.

type recursive


param sorted

Sort the children base on id.

type sorted




getDependents(self, recursive=False, **kwds)

Get objects that reference this object through a Reference attribute.

param recursive

type recursive


param **kwds

Filter objects using isa.



getReferences(self, recursive=False, **kwds)

Get objects this object references through a Reference attribute.

param recursive

type recursive


param **kwds

Filter objects using isa.



isa(self, type=None, filter=None, name=None, wildcard=None, **kwds)

Determines if the object matches the specified settings or not.

param type

The type of the object.

type type

Union[Part, Assembly, Contact..]

param filter

Return value of specified callback method.

type filter


param name

Name that matches exactly with object name.

type name


param wildcard

A pattern to match exactly with the object name.

type wildcard


param **kwds

Additional keyword arguments to match other attributes.


True, if a match is found, otherwise False.




Forces all objects to return the original model positions instead of the current analysis positions.

Useful when defining draw methods on GeneralObjects where behaviour is different while animating.

updatePosition(self, m44)

Sets the design space positions of all the inspire parts to their position in the current analysis frame.