*BallJoint()

Creates a ball joint.

Syntax

*BallJoint(joint_name,"joint_label",body_1, body_2, origin, [ALLOW_COMPLIANCE])

Arguments

joint_name
The variable name of the ball joint.
Data type: varname
joint_label
The descriptive label of the ball joint.
Data type: label
body_1
The first body constrained by the ball joint.
Data type: Body
body_2
The second body constrained by the ball joint.
Data type: Body
origin
The location of the ball joint.
Data type: Point
ALLOW_COMPLIANCE
An optional argument that indicates the joint can be made compliant.

Example

*Body(b_kn, "Knuckle", p_kn_cm)
*Body(b_lca, "LCA", p_lca_cm)
*Point(p_lbj, "Lower ball joint")
*BallJoint(lbj, "Lower ball joint", b_kn, 
 b_lca, 
 p_lbj, 
 ALLOW_COMPLIANCE)

Context

*BeginMdl()

*DefineAnalysis()

*DefineSystem()

Properties

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

Comments

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.