*UJoint()

Creates a universal joint.

Syntax

*UJoint(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.
Data type: varname
joint_label
The descriptive label of the universal joint.
Data type: label
body_1
The first body constrained by the universal joint.
Data type: Body
body_2
The second body constrained by the universal joint.
Data type: Body
origin
The location of the universal joint.
Data type: Point
SHAFT|CROSSPIN
This argument orients the first shaft or crosspin of the universal joint.
POINT|VECTOR
A keyword that indicates the alignment method.
point_1|vector_1
An entity variable referring to a Point or Vector which is based on the above keyword.
Data type: Point or Vector
SHAFT|CROSSPIN
This argument orients the second shaft or crosspin of the universal joint.
POINT|VECTOR
A keyword that indicates the alignment method.
point_2|vector_2
An entity variable referring to a Point or Vector which is based on the above keyword.
Data type: Point or Vector
ALLOW_COMPLIANCE
An optional argument that indicates the joint can be made compliant.

Example

*Body(b_tierod, "Tie rod", 
p_1)
*Body(b_rack, "Rack", 
p_2)
*Point(p_itrb, "Inner tie rod")
*Point(p_otrb, "Outer tie rod")
*Vector(v_x, "X vector")
*UJoint(itrj, "Inner tierod joint", 
b_tierod, 
b_rack, 
p_itrb, 
SHAFT, 
POINT, 
p_otrb, 
CROSSPIN, 
VECTOR, 
v_x, 
ALLOW_COMPLIANCE) 

Context

*BeginMdl()

*DefineAnalysis()

*DefineSystem()

Properties

Table 1.
Property Returns Data Type Description
b1 Body The first body constrained by the universal joint.
b2 Body The second body constrained by the universal 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 universal joint.
state boolean Control state (TRUE or FALSE).
type string Unique joint type.
varname string The variable name of the universal joint.

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 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.