*mechadjustjoint
Actuates a joint to reach a new value.
Syntax
*mechadjustjoint name direction value tolerance lock angle_step hold_angles
Type
HyperMesh Tcl Modify
Description
Actuates a joint to reach a new value.
The mechanism must have the enabled flag set to true for this to be possible.
Inputs
- name
- The name of the joint to adjust.
- direction
- The direction along which the new value will be applied:
- value
- The desired value of the joint (double).
- tolerance
- The tolerance allowed when adjusting (double).
- lock
- If set to 1, all joints in the mechanism which are not part of the cycle of the given joint are locked.
- angle_step
- The size of the iterative steps used to solve for the new value of the joint. Only used for rotation.
- hold_angles
- If set to 1, this locks the rotation about axes other than the given direction. If 0, rotation occurs in a way such that the given axis doesn’t move. In this case the Euler angles about other axes can change. This is only for ball joints.
Example
To move a joint named TORSO_to_RIGHT_UPPER_LEG to x=20 y=0 z=0 with tolerance 0.001, locking other joints and angle step = 0:
*mechadjustjoint "TORSO_to_RIGHT_UPPER_LEG" 20.0 0.0 0.0 0.001 1 0
Errors
Incorrect usage results in a Tcl error. To
detect errors, you can use the catch
command:
if { [ catch {command_name...} ] } {
# Handle error
}
Version History
14.0.120