*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.
- joint_label
- The descriptive label of the screw joint pair.
- body_1
- The first body or body pair constrained by the screw joint pair.
- body_2
- The second body or body pair constrained by the screw joint pair.
- origin
- The location(s) of the screw joint pair.
- 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.
- 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.
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
Properties
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.