Professional Documents
Culture Documents
Usage of this command requires a mechanism with a fixed part, joints and commands.
1. Click Kinematic Relations to display a dialog box listing the non-command joints of the
mechanism:
2. Select a joint from the list of non-command joints (or directly in the 3D viewer) for which a
kinematic relation is to be defined, and click Add/Edit Relation button to define and compile
the kinematic expression. If the selected joint already has a kinematic expression defined for
it, this expression will be displayed in the expression editor. The existing expression may then
be edited, if necessary.
file:///C:/Program%20Files%20(x86)/Dassault%20Systemes/B22doc/English/online/dbgug_D2/dbgugat1300.htm 1/5
10/21/2018 Defining Kinematic Relationships
Joint expressions may be typed directly into the Define Joint Kinematic Relationship dialog
without using the supplied dictionaries.
3. Click OK to apply the defined relationship and close the dialog box.
Dictionary types
The substrings used to compile a kinematic expression are categorized into various dictionaries as as
shown in the Define Joint Kinematic Relationship dialog. Each dictionary contains a predefined set of
strings.
The contents of the Degree of Freedom (DOF) dictionary is dependent upon the number of DOFs of
the mechanism. For a mechanism with N degrees of freedom, the Degree of Freedom dictionary will
have DOF(1), DOF(2), ...DOF(N).
The User Variables dictionary will list all of the user-defined variables that have been created.
The members of the Math, Operators, and Functions dictionaries are defined as follows:
Operators
= Assignment
* Binary multiplication
/ Binary division
^ Exponent
% Module operator
( Opening parenthesis
) Closing parenthesis
Math
acos(x)
asin(x) returns arc cos, sin, tan in degrees
atan(x)
acosr(x)
asinr(x) returns arc cos, sin, tan in radians
atanr(x)
cos(x)
sin(x) Returns cos, sin, tan in degrees
tan(x)
cosr(x)
sinr(x) Returns cos, sin, tan in radians
tanr(x)
file:///C:/Program%20Files%20(x86)/Dassault%20Systemes/B22doc/English/online/dbgug_D2/dbgugat1300.htm 2/5
10/21/2018 Defining Kinematic Relationships
floor(x)
Returns floor, ceiling of x
ceil(x)
log(x)
Returns natural logarithm, logarithm base 10
log10(x)
Functions
The following functions are useful for solving triangles given three
sides of the triangle (s1, s2, s3) and one of its angle (a1). Note that
all angles are in radians.
For a list of the values used in converting radians to degrees (or vice versa), plus the value of PI
used in this software, click here.
file:///C:/Program%20Files%20(x86)/Dassault%20Systemes/B22doc/English/online/dbgug_D2/dbgugat1300.htm 3/5
10/21/2018 Defining Kinematic Relationships
Newly created variables are added to the User Variables dictionary and may subsequently be used in
the kinematic expression of a joint. The following image shows that the variable defined above
(MyVariable) has been added to the User Variables dictionary:
When an item of the User Variable dictionary is selected, click Edit to display existing values in the
editor.
Notes
The definition of kinematic relationship is only allowed for non-command joints and these
joints must only be of Prismatic or Revolute type. For example, a Cylindrical joint cannot
have a kinematic relation.
It is not mandatory to define kinematic relationship expressions for all the non-command
joints. Non-command joints without a kinematic relationship are ignored.
User-defined variable names in the kinematic relation may not have these special
characters: tilde, exclamation mark, rate, hash, ampersand, underscore, question mark (~ !
@ # & _ ?).
file:///C:/Program%20Files%20(x86)/Dassault%20Systemes/B22doc/English/online/dbgug_D2/dbgugat1300.htm 4/5
10/21/2018 Defining Kinematic Relationships
Whenever the mechanism is simulated, if kinematic relationships are already defined for at
least one of the non-command joints of the mechanism, the forward kinematics solver for
the mechanism will be based on the Device Building user-defined kinematic relationship
rather than the DMU Kinematics automatic closed-chain solution algorithm which is typically
the default. This also implies that mechanisms defined in Device Building workbench with
kinematic relationships can not be simulated in DMU Kinematics workbench. The reason for
this difference is that the kinematic relations functionality is a simplified abstraction that is
required for high performance resource simulation (to predict motion and collision issues)
whereas the DMU Kinematics workbench requirement is for detailed design of the
mechanism, not the simplified abstraction.
file:///C:/Program%20Files%20(x86)/Dassault%20Systemes/B22doc/English/online/dbgug_D2/dbgugat1300.htm 5/5