*UJointPair()

Creates a universal joint pair.

Syntax

*UJointPair(joint_name, "joint_label", 
                                  body_1, 
                                  body_2, 
                                  origin, 
                                  SHAFT|CROSSPIN, 
                                  POINT|VECTOR, 
                                  point_1|vector_1, 
                                  SHAFT|CROSSPIN, 
                                  POINT|VECTOR, 
                                  point_2|vector_2, 
                                  [ALLOW_COMPLIANCE])

Arguments

joint_name
The variable name of the universal joint pair.
Data type: varname
joint_label
The descriptive label of the universal joint pair.
Data type: label
body_1
The first body or body pair constrained by the universal joint pair.
Data type: Body or BodyPair
body_2
The second body or body pair constrained by the universal joint pair.
Data type: Body or BodyPair
origin
The location(s) of the joint pair.
Data type: Point or PointPair
SHAFT CROSSPIN
This argument orients the first shaft or crosspin of the universal joint pair.
POINT|VECTOR
A keyword that indicates the alignment method.
point_1|vector_1
An entity variable referring to a Point, PointPair, Vector, or VectorPair which is based on the above keyword.
Data type: Point, PointPair, Vector, or VectorPair
SHAFT CROSSPIN
This argument orients the second shaft or crosspin of the universal joint pair.
POINT|VECTOR
A keyword that indicates the alignment method.
point_2|vector_2
An entity variable referring to a Point, PointPair, Vector, or VectorPair which is based on the above keyword.
Data type: Point, PointPair, Vector, or VectorPair
ALLOW_COMPLIANCE
An optional argument that indicates the joint pair can be made compliant.

Example

*BodyPair(b_wheel, "Wheel", p_wheel_cg)
*BodyPair(b_kn, "Knuckle", p_kn_cg)
*Vector(v_Z, "Global Z")
*PointPair(p_wc, "Wheel center")
*PointPair(p_spalign, "Spindle align")
*UJointPair(j_w_spin_uj, "Wheel spindle uj", 
b_kn, 
b_wheel, 
p_wc, 
SHAFT, 
POINT
p_spalign, 
CROSSPIN, 
VECTOR
v_Z, 
ALLOW_COMPLIANCE)

Context

*BeginMdl()

*DefineAnalysis()

*DefineSystem()

Properties

Table 1.
Property Returns Data Type Description
b1 BodyPair The first body pair constrained by the universal joint pair.
b2 BodyPair The second body pair constrained by the universal joint pair.
i MarkerPair The marker pair on b1.
isbush boolean See Comments.
j MarkerPair The marker pair on b2.
l UJoint The left universal joint.
label string The descriptive label of the universal joint pair.
r UJoint The right universal joint.
state boolean Control state (TRUE or FALSE).
varname string The variable name of the universal joint pair.

Comments

SHAFT and CROSSPIN apply to the token which follow the argument. SHAFT indicates that the next argument (a point or vector) defines the shaft axis of the ujoint. CROSSPIN indicates that the next token (a point or vector) defines the crosspin axis for the ujoint.

When a point is used (instead of a vector) to define an axis, it is obtained as the direction from the origin of the joint to the specified point.

The individual joints of a *UJointPair() can be referred to as joint_name.l (left universal joint) and joint_name.r (right universal joint).

The ALLOW_COMPLIANCE argument is optional. When it is included, it indicates that the joint pair can be made compliant. In compliant mode, such a joint pair acts as a bushing pair.

The isbush property is valid only for joint pairs that can be made compliant. When isbush is set to FALSE, the joint pair acts like kinematic joints (in a noncompliant mode). When isbush is set to TRUE, the joint pair acts like a bushing pair (in a compliant mode).

When the compliant option in a system is switched to "non-compliant", all the joint pairs in the system act as kinematic joints. However, when the system option is switched to "compliant", only the joint pairs that are created with an ALLOW_COMPLIANCE flag act as bushing pairs. The rest of the joint pairs continue to behave as kinematic joints.