This section describes the Orientation joint entity of MotionView and shows the various usage, creation, and editing methods.
An Orientation Joint is a three degree-of-freedom kinematic pair. The joint constrains the three rotational degrees of freedom while all three translations are free. Effectively, the orientations of the two bodies connected by the joint remain the same.
Orientation joint construction
The Orientation joint is represented using Markers when exported to an MBD Solver. The representation can be visualized as shown in the figure below:
Orientation joint marker representation
The bodies that are constrained by the Orientation joint are represented using two markers: Marker I and Marker J. Marker I belongs to Body 1 and Marker J belongs to Body 2. The constraints are applied on the Marker I with respect to Marker J. While defining the joint, the markers can either have coincident origins or they can be non-coincident. Marker I is free to translate along the X, Y, and Z axis of Marker J.
The topological information required to define an Orientation Joint is shown in the figure below:
The data members of the Orientation Joint can be classified into the following members:
An Orientation Joint needs the following:
• | Body 1 and Body 2 - Specify two Bodies between which the joint is to be created. |
• | Origin 1 - Specify Point, which defines the location where a Marker on Body 1 is to be created. |
• | Origin 2 - Specify Point, which defines the location where a Marker on Body 2 is to be created. Origin 1 and Origin 2 can be located at the same point. |
• | Compliant Mode (Optional) - If the Allow Compliance option is selected while adding the joint to a model, the joint's compliance state can be toggled between Compliant and Non-Compliant. |
The joint can be modeled as a Single entity or as a Pair entity.
There are no editable properties for an Orientation joint.
To learn how to add a Orientation joint to a model, please see the Joints topic.
Joints Panel (Orientation Joint) – Connectivity Tab - Single Entity Joints Panel (Orientation Joint) – Connectivity Tab - Pair Entity
Note - The same steps as shown above can also be used to define Pair Orientation Joint entities. |
The Project Browser will filter the entities and display only the Joints in the model.
The corresponding panel is automatically displayed.
Joints panel - Connectivity tab - joint type drop-down menu |
The model containing the Orientation Joint can be saved in the MDL format from MotionView and exported in the MotionSolve XML format.
The Orientation Joint can be of the following types:
These four types of entities can be added to the model using MDL Statements shown below:
To learn how to create a complete model using MDL Statements please refer to tutorial MV-1060: Introduction to MDL. |
The Orientation joint when exported to the MotionSolve XML format is defined as a Constraint_Joint or Constraint_Jprim statement. Syntax: <Constraint_Joint [or Constraint_Jprim] id = "integer" label = "Name of Joint" type = "JOINT TYPE" i_marker_id = "integer" j_marker_id = "integer" /> Example: <Constraint_Joint [or Constraint_Jprim] id= "301001" label = "Orientation Joint" type = "ORIENTATION" i_marker_id = "30103050" j_marker_id = "30101050" /> In the above XML Model statement the i_marker_id and j_marker_id represent the I and J markers of the Joint which belong to Body 1 and Body 2 respectively. To understand the complete syntax of the Constraint_Joint XML model statement, please refer to the MotionSolve Reference Guide Page for Constraint_Joint or Constraint_Jprim. |
In MotionView, the Tcl command layer can be used to add any MDL entities to the model. There are two Tcl commands that can be used to add an entity:
Syntax: mdlmodel_handle InterpretEntity new_handle keyword varname label In case of the Orientation Joint the statement will look as shown below: mdlmodel_handle InterpretEntity joint_Orientation_handle OrientJoint j_Orientation "\"Orientation Joint\"" b_1 B_Ground p_0 p_1 "ALLOW_COMPLIANCE"; |
*This command is not applicable for Orientation joint entities. |
The InterpretEntity command is used to add entities to the model and the InterpretSet command is used to set the entity properties (which is not applicable for this type of joint). Extended definitions for InterpretEntity and InterpretSet can be found in the HyperWorks Desktop Reference Guide.
Note - When using the InterpretEntity and InterpretSet commands, it is important to also use the Evaluate command in order for the changes to take effect immediately.
To learn how to create a complete model using Tcl commands, please refer to tutorial MV-1040: Model Building Using Tcl.
The example file below shows an Orientation joint connecting two bodies:
*BeginMDL( the_model, "Model", "12.0.110.40" ) *StandardInclude(FILE) *Point( p_0, "Point 0" ) *PointPair( p_1, "Point 1" ) *Body( b_0, "Body 0", p_0, , , , ) *BodyPair( b_1, "Body 1", p_1, , , , ) //Orientation joint definition *OrientJoint( j_Orijsingle, "Orient Joint Single", b_0, B_Ground, p_0, p_0 ) //Orientation joint pair definition *OrientJointPair( j_Orijpair, "Orient Joint pair", b_1, B_Ground, p_1, p_0 ) *SetPoint( p_1, LEFT, , -100 ) *EndMDL() |
See Also:
*OrientJoint() (MDL Model Statement)
*OrientJointPair() (MDL Model Statement)
Constraint_Joint (XML Command)
Constraint_JPRIM (XML Command)
InterpretEntity (Tcl Command)
InterpretSet (Tcl Command)