Joint (hwx.inspire.core)

Joint connect parts together while allowing movement at the joint location.

Every joint has a type, such as Pin or Hinge, and state, which can be set to Locked, Active, or Free.

Attributes

active: Bool

activeForStaticAnalysis: Bool

angle: Double

autoCalculateAllowableForces: Bool

axialForce: Double

axialStiffness: Double

ballRadius: Double

behavior: Enum

bendingArm: Double

bristleStiffness: Double

c: Double

calculateGeometryParams: Bool

collisionType: Enum

color: Color

connectionRadius: Double

contact: Attribute

ct: Double

ctx: Double

cty: Double

ctz: Double

cx: Double

cy: Double

cz: Double

damping: Double

dampingCoefficient: Double

dynamicCoefficient: Double

effectType: Enum

enableAllowableForces: Bool

enableFriction: Bool

enableMoment: Bool

enablePreload: Bool

enablePretension: Bool

enableReaction: Bool

enableTorsional: Bool

exponent: Double

featureLists: Attribute

frictionArm: Double

grounded: Bool

initialOverlap: Double

k: Double

kt: Double

ktx: Double

kty: Double

ktz: Double

kx: Double

ky: Double

kz: Double

layerDepth: Double

material: Attribute

name: Attribute

normalVelocity: Double

overlapDelta: Enum

penalty: Double

penetrationDepth: Double

pinRadius: Double

preloadForce: Double

preloadTorque: Double

pretensionForce: Double

rateType: Enum

reactionArm: Double

restitutionCoefficient: Double

shearForce: Double

shearStiffness: Double

state: Enum

staticCoefficient: Double

stictionTransitionVelocity: Double

stiffness: Double

type: Enum

viscousCoefficient: Double

visible: Bool

Properties

Public Methods

classmethod getAllowedTypesFromKeyFeatures (cls, keyFeatures)

classmethod getConnectionCandidates (cls, keyFeatures, holes=None)

getAllowedTypes (self)

setValues (self, **kwds)

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.

activeForStaticAnalysis : Bool

Allows the joint to be active, during motion analysis set to static.

angle : Double (units=”angle”)

Specifies the rotational value about the axis.

autoCalculateAllowableForces : Bool

Determines whether the allowable axial and shear forces will be manually added.

axialForce : Double (units=”force”)

Manually entry of the Allowable Axial Force.

Based on the yield stress and the area of the hole Inspire automatically determines the maximum stress allowed for the fastener or cylindrical hole support, if autoCalculateAllowableForces is set to True.

axialStiffness : Double (units=”stiffness”)

The spring stiffness in the axial direction.

ballRadius : Double (units=”length”)

Specifies the radius of the ball joint.

behavior : Enum (Default, Rigid, Flexible)

Specifies the behavior of the joint. It can be Default, Rigid or Flexible.

If value is ‘Default’ then the behavior should be realized off a global default setting.

Flexibility of the joint can be specified using k, kt, c, ct properties.

bendingArm : Double (units=”length”)

Specifies the value of the bending moment value of arm.

bristleStiffness : Double (units=”stiffness”)

Specifies the bristle stiffness value of the joint friction.

c : Double (units=”damping”)

Specifies the damping value.

calculateGeometryParams : Bool

Allows to manually enter dimensions for geometry parameters such as the pin radius, friction arm, and bending arm.

collisionType : Enum (Impact, Poisson, Volume)

Type of collision upon contact between entities. Collision type can be Impact, Poisson and Volume.

color : Color

The color assigned to the connector when it is displayed in the modeling window.

connectionRadius : Double (units=”length”)

The search radius for the connector.

contact : Attribute

Contact object the joint is based on.

If it is None then the joint is hole based.

ct : Double (units=”torsion_damping”)

Specifies the torsional damping value.

ctx : Double (units=”torsion_damping”)

Specifies the torsional damping in the X direction.

cty : Double (units=”torsion_damping”)

Specifies the torsional damping in the Y direction.

ctz : Double (units=”torsion_damping”)

Specifies the torsional damping in the Z direction.

cx : Double (units=”damping”)

Specifies the damping in the X direction.

cy : Double (units=”damping”)

Specifies the damping in the Y direction.

cz : Double (units=”damping”)

Specifies the damping in the Z direction.

damping : Double (units=”damping”)

Specifies the maximum damping coefficient. It defaults to 100 N*s/m and this property is specifiable when the contact collision is of type Impact or Volume.

dampingCoefficient : Double (units=”damping”)

Specifies the damping friction coefficient of the joint.

dynamicCoefficient : Double

Specifies the dynamic friction coefficient (?d) of the joint.

effectType : Enum (Stiction and Sliding, Stiction Only, Sliding Only)

Specifies the frictional effect.

The frictional effects can be “Stiction and Sliding”, “Stiction Only” and “Sliding Only”.

By default, both static and dynamic friction are considered. The ‘Stiction Only’ option uses only static friction, while the ‘Sliding Only’ option uses only dynamic friction.

enableAllowableForces : Bool

Determines whether to enable optimization of the selected fasteners or cylindrical hole supports.

enableFriction : Bool

Allows to enable friction between the connected parts.

enableMoment : Bool

Allows to enable the bending moment of the joint.

enablePreload : Bool

Allows to preload value for the joint.

enablePretension : Bool

Determines whether pretension is enabled.

If pretension is enabled and defined, the pretension is then included as a load in all load cases.

enableReaction : Bool

Allows to enable reaction of the joint.

enableTorsional : Bool

Allows to enable the torsional moment of the joint.

exponent : Double

The exponent of the force deformation characteristic.

This value is used to generate the stiffness. It defaults to 2.1 and this property is specifiable when the contact collision type is Impact or Volume.

featureLists : Attribute

A nested list of features making up the holes.

frictionArm : Double (units=”length”)

Specifies the value of the frictional value of arm.

grounded : Bool

Determines whether the connector is grounded.

initialOverlap : Double (units=”length”)

Specifies the intial overlap value.

k : Double (units=”stiffness”)

Specifies the stiffness value.

kt : Double (units=”torsion_stiffness”)

Specifies the torsional stiffness value

ktx : Double (units=”torsion_stiffness”)

Specifies the torsional stiffness in the X direction.

kty : Double (units=”torsion_stiffness”)

Specifies the torsional stiffness in the Y direction.

ktz : Double (units=”torsion_stiffness”)

Specifies the torsional stiffness in the Z direction.

kx : Double (units=”stiffness”)

Specifies the stiffness in the X direction.

ky : Double (units=”stiffness”)

Specifies the stiffness in the Y direction.

kz : Double (units=”stiffness”)

Specifies the stiffness in the Z direction.

layerDepth : Double (units=”length”)

The layer depth of material. This is used to calculate the contact stiffness and it defaults to 1 m. This property is specifiable when the contact collision is of type Volume.

material : Attribute

The material of the connector.

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.

normalVelocity : Double (units=”velocity”)

Velocity limit after which full damping force is applied.

By default the value is 0.001. This property is specifiable when the contact collision type is Poisson.

overlapDelta : Enum (Constant, Increase, Decrease)

Specifies options to how to overlap delta value for friction.

The options can be “Constant”, “Increase”, or “Decrease”.

penalty : Double (units=”stiffness”)

Determines the local stiffness properties between materials.

Larger values lead to reduced penetration between two bodies. By default penalty value is 5e+06 N/m. This property is specifiable when the contact collision type is Poisson.

penetrationDepth : Double (units=”length”)

The depth beyond which full damping is applied. It defaults to 0.0001 m and this property is specifiable when the contact collision is of type Impact.

pinRadius : Double (units=”length”)

Specifies the radius of a pin joint.

preloadForce : Double (units=”force”)

Specifies the preload force value of the joint.

preloadTorque : Double (units=”moment”)

Specifies the preload torque value of the joint.

pretensionForce : Double (units=”force”)

The magnitude for the pretension force.

Applying pretension to bolted and screwed connections allows a more complete understanding of the behavior of a structure. Often, these preloads are of a significant magnitude and can influence design decisions.

Typical examples are clamping structures, such as bearing housings or bicycle handlebars and seat-posts. In engines, cylinder bore distortion can be a critical design requirement highly influenced by the loads generated by the bolt down of the cylinder head.

rateType : Enum (Global, Basic, Advanced)

Specifies type of rate used by the joint.

It can be Global, Basic or Advanced Rates.

reactionArm : Double (units=”length”)

Specifies the value of the reaction value of arm.

restitutionCoefficient : Double

The ratio of the final to initial relative velocity between two entities after they collide.

  • 0 for a perfectly plastic collision

  • 1 for a perfectly elastic collision

By default the value is 0.8. This property is specifiable when the contact collision type is Poisson.

shearForce : Double (units=”force”)

Manually entry of the Allowable Shear Force.

Inspire automatically determines the maximum force allowed for the fastener or cylindrical hole support, if autoCalculateAllowableForces is set to True.

shearStiffness : Double (units=”stiffness”)

The spring stiffness in the shearing direction.

state : Enum (Locked, Active, Free)

Specifies the state of the joint.

It can be set to Locked, Active, or Free.

  • Select Locked to prevent movement in the joint.

  • Select Active to allow the joint to function normally.

  • Select Free if you want the mechanism to behave as if the joint is not there.

staticCoefficient : Double

Specifies the static friction coefficient (?s) of the joint.

stictionTransitionVelocity : Double (units=”velocity”)

Specifies the joint velocity at which the friction effect transitions from dynamic friction to static friction.

stiffness : Double

The stiffness of the boundary surface interaction. The nonlinear effect of the Exponent parameter will be accounted for automatically. It defaults to 1000 N/m and this property is specifiable when the contact collision is of type Impact.

type : Enum

The type of the connection.

Call getAllowedTypes to see which are the allowed types.

viscousCoefficient : Double (units=”damping”)

Specifies the viscous friction coefficient of the joint.

visible : Bool

Determines whether the object is visible in the graphics window.

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

Property Details

property contactInfo

Returns a dictionary with contact information of the joint.

property hasClip

Determines whether the joint have a clip preventing translation along the hole axis.

Will be True for Pin based joint types and False for Sliding Pin based joint types. Not applicable for contact based joints.

property keyFeatures

General classification of referenced features by the joint.

It can be

  • Aligned holes

  • Single Holes

  • Cylindrical Pairs

  • Spherical Pairs

  • Planar Pairs

  • Multi-Planar Pairs

  • Unknown Pairs

Method Details

classmethod getAllowedTypesFromKeyFeatures(cls, keyFeatures)

Return a list of valid joint types for a given keyFeatures.

param keyFeatures

Filters the contact type based on keyFeatures. Refer keyFeatures property for valid list of keyFeatures.

type keyFeatures

str

returns

Allowed types for Joint.

rtype

List

classmethod getConnectionCandidates(cls, keyFeatures, holes=None)

Returns a list of objects that are valid connection candidates to create a joint.

param keyFeatures

Filters the contact type based on keyFeatures. Refer keyFeatures property for valid list of keyFeatures.

type keyFeatures

str

param holes

List of hole features to find connection candidates.

type holes

Holes, list[list[Feature]]

returns

All valid connection candidates from the key features.

rtype

ConnectionCandidates

getAllowedTypes(self)

Returns a list of allowed realization types of joint.

This is a subset of type depending on the contact.

setValues(self, **kwds)

Sets attribute on name and value pairs in order of attributes defined.