*RevJointPair()

Creates a revolute joint pair.

Syntax

*RevJointPair(joint_name,"joint_label",body_1, body_2, origin, POINT|VECTOR, point|vector, [ALLOW_COMPLIANCE])

Arguments

joint_name
The variable name of the revolute joint pair.
Data type: varname
joint_label
The descriptive label of the revolute joint pair.
Data type: label
body_1
The first body or body pair constrained by the revolute joint pair.
Data type: Body or BodyPair
body_2
The second body or body pair constrained by the revolute joint pair.
Data type: Body or BodyPair
origin
The location(s) of the revolute joint pair.
Data type: Point or PointPair
POINT|VECTOR
A keyword that indicates the alignment method.
point|vector
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 "GM Tire", p_wheel_cg)
(b_tire,
*BodyPair( "Spindle, p_spalign)
b_spindle,
*PointPair(p_wc, "Wheel center")
*PointPair(p_spalign, "Spindle align point")
*RevJointPair(j_spindle, "Spindle revolute", b_tire, 
                                             b_spindle, 
                                             p_wc, 
                                             POINT, 
                                             p_spalign, 
                                             ALLOW_COMPLIANCE)

Context

*BeginMdl()

*DefineAnalysis()

*DefineSystem()

Properties

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

Comments

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 *RevJointPair() can be referred to as joint_name.l (left revolute joint) and joint_name.r (right revolute joint).

The ALLOW_COMPLIANCE argument is optional. When it is included, it indicates that the joint pair can be made compliant. In compliant mode, 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.