*RevJoint()
Creates a revolute joint.
Syntax
*RevJoint(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.
 - joint_label
 - The descriptive label of the revolute joint.
 - body_1
 - The first body constrained by the revolute joint.
 - body_2
 - The second body constrained by the revolute joint.
 - origin
 - The location of the revolute joint for body_1.
 - POINT|VECTOR
 - A keyword that indicates the alignment method.
 - point|vector
 - An entity variable referring to a Point or Vector which is based on the above keyword.
 - ALLOW_COMPLIANCE
 - An optional argument that indicates the joint can be made compliant.
 
Example
*Body "Wheel", p_wheel_cm)
(b_wheel,
*Body "Knuckle", p_kn_cm)
(b_kn,
*Point "Wheel center")
(p_wc,
*Point "Spindle align point")
(p_spalign,
*RevJoint(j_w_spin_rj, "Wheel spindle rj", b_wheel, 
                                           b_kn, 
                                           p_wc, 
                                           POINT, 
                                           p_spalign, 
                                           ALLOW_COMPLIANCE)
    Context
Properties
| Property | Returns Data Type | Description | 
|---|---|---|
| b1 | Body | The first body constrained by the revolute joint. | 
| b2 | Body | The second body constrained by the revolute joint. | 
| i | Marker | The marker on b1. | 
| id | long integer | Solver identification number. | 
| isbush | boolean | See Comments. | 
| j | Marker | The marker on b2. | 
| label | string | The descriptive label of the revolute joint. | 
| state | boolean | Control state (TRUE or FALSE). | 
| type | string | Unique joint type. | 
| varname | string | The variable name of the revolute joint. | 
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 ALLOW_COMPLIANCE argument is optional. When it is included, it indicates that the joint can be made compliant. In compliant mode, such a joint acts as a bushing.
The isbush property is valid only for joints that can be made compliant. When isbush is set to FALSE, the joint acts like a kinematic joint (in a noncompliant mode). When isbush is set to TRUE, the joint acts like a bushing (in a compliant mode).
When the compliant option in a system is switched to "non-compliant", all the joints in the system act as kinematic joints. However, when the system option is switched to "compliant", only the joints that are created with an ALLOW_COMPLIANCE flag act as bushings. The rest of the joints continue to behave as kinematic joints.