*ScrewJointPair()

Creates a screw joint pair.

Syntax

*ScrewJointPair(joint_name, "joint_label", body_1, 
                                                     body_2, 
                                                     origin, 
                                                     POINT|VECTOR, 
                                                     point|vector, 
                                                     [ALLOW_COMPLIANCE]) *Set(joint_name.l.pitch,value) *Set(joint_name.r.pitch,value)

Arguments

joint_name
The variable name of the screw joint pair.
Data type: varname
joint_label
The descriptive label of the screw joint pair.
Data type: label
body_1
The first body or body pair constrained by the screw joint pair.
Data type: Body or BodyPair
body_2
The second body or body pair constrained by the screw joint pair.
Data type: Body or BodyPair
origin
The location(s) of the screw 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.
value
The pitch of the screw joint. Pitch is the amount of translational displacement per revolultion of the joint.
Data type: real

Example

*PointPair(p_4, "Point 4")
*PointPair(p_5, "Point 5")
*PointPair(p_6, "Point 6")
*PointPair(p_7, "Point 7")
*SetPoint(p_4, LEFT, 21, 22, 23)
*SetPoint(p_5, LEFT, 24, 25, 26)
*SetPoint(p_6, LEFT, 27, 28, 29)
*SetPoint(p_7, LEFT, 30, 31, 32)
*BodyPair(b_4, "Body 4", p_4)
*BodyPair(b_5, "Body 5", p_5)
*ScrewJointPair(j_1, "Pair Screw Joint", 
b_4, 
b_5, 
p_4, 
POINT, 
p_5)
*Set(j_1.l.pitch, 2.5)
*Set(j_1.r.pitch, 3.4)
*EndMDL()

Context

*BeginMdl()

*DefineAnalysis()

*DefineSystem()

Properties

Table 1.
Property Returns Data Type Description
b1 BodyPair The first body pair constrained by the screw joint pair.
b2 BodyPair The second body pair constrained by the screw joint pair.
i MarkerPair The marker pair on b1.
isbush boolean See Comments.
j MarkerPair The marker pair on b2.
l RevoluteJoint The left screw joint.
label string The descriptive label of the screw joint pair.
r RevoluteJoint The right screw joint.
state boolean Control state (TRUE or FALSE).
varname varname The variable name of the screw 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 *ScrewJointPair() can be referred to as joint_name.l (left screw joint) and joint_name.r (right screw 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.