============================= Constraint (hwx.inspire.core) ============================= A constraint is used to hold a part so it doesn't displace when loads are applied to it. You can apply a constraint to a single point on the model, to an edge or a face, or at the center of a hole. ---------- Attributes ---------- +---------------------------+---------------------------+---------------------------+ | active_: Bool | color_: Color | connectionRadius_: Double | +---------------------------+---------------------------+---------------------------+ | connectionType_: Enum | direction_: Direction | distributed_: Bool | +---------------------------+---------------------------+---------------------------+ | dofs_: Attribute | features_: Attribute | localToPart_: Bool | +---------------------------+---------------------------+---------------------------+ | location_: Location | mode_: Enum | name_: Attribute | +---------------------------+---------------------------+---------------------------+ | part_: Attribute | parts_: Attribute | visible_: Bool | +---------------------------+---------------------------+---------------------------+ ---------- Properties ---------- +-----------+-----------+-----------+ | detached_ | fixed_ | hinge_ | +-----------+-----------+-----------+ | position_ | sliding_ | | +-----------+-----------+-----------+ -------------- Public Methods -------------- +-----------------------------------------------------------------------+ | classmethod getClass_ (cls, className) | +-----------------------------------------------------------------------+ | classmethod importLoads_ (cls, csvFile) | +-----------------------------------------------------------------------+ | __new__ (cls, features, position=None, isRemote=False, **kwds) | +-----------------------------------------------------------------------+ | applyToCylindricalHoleCenter_ (self) | +-----------------------------------------------------------------------+ | applyToFace_ (self) | +-----------------------------------------------------------------------+ | applyToPoint_ (self) | +-----------------------------------------------------------------------+ | 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) | +-----------------------------------------------------------------------+ | setDefaultDOFs_ (self) | +-----------------------------------------------------------------------+ | updatePosition_ (self, m44) | +-----------------------------------------------------------------------+ ----------------- Attribute Details ----------------- .. _active: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ active : :ref:`Bool ` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Returns or sets the object activeness. Setting this on or off sets all children. Setting to True sets all the parents active too. .. _color: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ color : :ref:`Color ` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The color assigned to the boundary condition. .. _connectionRadius: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ connectionRadius : :ref:`Double ` (units="length") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The search radius for the boundary condition. .. _connectionType: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ connectionType : :ref:`Enum ` (rigid, flexible) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The type of the connection. Valid choices are: - rigid - flexible .. _direction: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ direction : :ref:`Direction ` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Returns direction vector of the entity. .. _distributed: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ distributed : :ref:`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. .. _dofs: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dofs : :ref:`Attribute ` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Returns or sets a list with the unconstrained degrees of freedom. To set it you can pass a list e.g ["rx", "ry", "rz"], a space seperated string "rx ry rz" or one of the following choices "fixed", "sliding", "hinged". .. _features: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ features : :ref:`Attribute ` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The list of features to which the boundary condition is applied. .. _localToPart: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ localToPart : :ref:`Bool ` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Returns or sets 'Rotate with part'. It makes boundary condition not to rotate or rotate along with its associated part. .. _location: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ location : :ref:`Location ` (units="length") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The location of the boundary condition. .. _mode: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mode : :ref:`Enum ` (direction, components) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Specifies the mode of the boundary condition. Valid choices are: - direction - components .. _name: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ name : :ref:`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: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ part : :ref:`Attribute ` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Returns the part on which the entity is applied graphically. .. _parts: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ parts : :ref:`Attribute ` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The list of parts on which the boundary condition is applied. .. _visible: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ visible : :ref:`Bool ` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Determines whether the boundary condition is visible or not. ---------------- Property Details ---------------- .. _detached: .. property:: detached Determines if the constraint is defined on a detached location in space. .. _fixed: .. property:: fixed Returns True if support is fixed, applies to holes or surfaces. When the property is set to False then the support dofs get set to default. For surface supports it means that all translational DOFs are constrained. For supports in holes it means that all DOFs are constrained. .. _hinge: .. property:: hinge Returns True if support is hinge, applies to holes only. When the property is set to False then the support dofs get set to default. Hinge supports allow a part to freely rotate about the center-line of a cylindrical face but constrains movement in both the radial and axial directions. Hinge supports can only be applied to full or partial cylindrical faces. .. _position: .. property:: position Returns and sets the position of the constraint as a M44 matrix. .. _sliding: .. property:: sliding Returns True if support is sliding, applies to holes or surfaces. When the property is set to False then the support dofs get set to default. A sliding support enforces zero displacement in directions normal to the surface direction. Displacements tangent to the surface are unconstrained. -------------- Method Details -------------- .. _getClass: .. 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..] :returns: The class for the specified className. :rtype: Union[Part, Occurrence, Named..] .. _importLoads: .. 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: str :returns: List of error msgs that happened during import of all the boundary conditions. :rtype: list .. ___new__: .. method:: __new__(cls, features, position=None, isRemote=False, **kwds) Creates support constraint on the supplied features. :param features: List of features to which the constraint applies. :type features: Union[Feature, list[Feature]] :param position: The position of it. :type position: math.Matrix44 :param isRemote: Determines if the constraint is touching the feature or not. :type isRemote: bool :param \*\*kwds: To set other attributes in the constraint. e.g.: distributed=True. :returns: Returns the created support. :rtype: Constraint .. _applyToCylindricalHoleCenter: .. method:: applyToCylindricalHoleCenter(self) Sets support to act in a single direction across a cylindrical hole center. .. _applyToFace: .. method:: applyToFace(self) Sets support to act in a single direction across the extent of a face. .. _applyToPoint: .. method:: applyToPoint(self) Sets support to act in a single direction at a point .. _destroy: .. method:: destroy(self) Delete the object removing it from the model. The object may come back due to an undo/redo. .. _getAllChildren: .. method:: 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: list[Named] :param \*\*kwds: Additional keyword arguments to match other attributes of the object. :returns: The list of children that satisfy the supplied filters. :rtype: list[Union[Part, Motor, BoundaryCondition, ...]] .. _getChild: .. method:: 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: str :param recursive: Search all descendents. :type recursive: bool :param \*\*kwds: Additional keyword arguments to match attributes of the object. :returns: The child object which satisfies the specified filters. :rtype: Named .. _getChildren: .. method:: 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: Type[Named] :param recursive: True to get all descendent Parts and Assemblies. :type recursive: bool :param sorted: Sort the children base on id. :type sorted: bool :returns: list[Named] .. _getDependents: .. method:: getDependents(self, recursive=False, **kwds) Get objects that reference this object through a Reference attribute. :param recursive: :type recursive: bool :param \*\*kwds: Filter objects using isa. :returns: set[Named] .. _getReferences: .. method:: getReferences(self, recursive=False, **kwds) Get objects this object references through a Reference attribute. :param recursive: :type recursive: bool :param \*\*kwds: Filter objects using isa. :returns: set[Named] .. _isa: .. method:: 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: method :param name: Name that matches exactly with object name. :type name: str :param wildcard: A pattern to match exactly with the object name. :type wildcard: str :param \*\*kwds: Additional keyword arguments to match other attributes. :returns: True, if a match is found, otherwise False. :rtype: bool .. _modelPositions: .. method:: modelPositions(self) 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. .. _setDefaultDOFs: .. method:: setDefaultDOFs(self) Sets supports DOFS to default. Default for supports in a hole or two dimensional parts are all constrained, while for the rest it's rotational DOFs constrained. .. _updatePosition: .. method:: updatePosition(self, m44) Update the position by multiplying input M44 matrix.