*dummyautomaticpositioner
Positions a dummy to an optimal position based on a list of design points with 'TargetPoint' configuration and a list of bodies that are free to move.
Syntax
*dummyautomaticpositioner dummyid=<value> designpointids=<value> bodiestomove=<value> ?bodydofs=<value>? ?bodyweights=<value>? ?targetspriority=<value>?
Type
HyperMesh Tcl Modify Command
Description
Positions the specified dummy based on the design points with ‘TargetPoint’ configuration located on it. Additionally, the command requires a list of IDs of the bodies that can be moved by the command to take the design points as close to their target position as possible. Their corresponding degrees of freedom (DOFs) and weights can be specified as optional arguments.
The bodies that are closest to the root will be moved first, followed by other bodies in a breadthwise pattern. The processing of design points can be done in three different ways specified by the targetspriority.
Inputs
- dummyid=<value>
- The ID of the dummy as indicated in the dummy browser.
- designpointids=<value>
- The IDs of the design points with 'TargetPoint' configuration located on the dummy.
- bodiestomove=<value>
- The IDs of the bodies of the dummy that needs to be moved.
- bodydofs=<value>
- The corresponding DOFs of the above specified bodies. For each body the 4 arguments are as follows: grounded, lock_x_rot, lock_y_rot, lock_z_rot. If grounded is 1, body is fixed to the ground and cannot be moved. If lock_x_rot is 1, the x rotational degree of freedom on the joint connecting the body to its parent body is locked. Similarly, lock_y_rot and lock_z_rot can be used to lock the y and z rotational degrees of freedom. By default, all bodies are free to move (that is, DOFs are assigned 0 value).
- bodiestomove=<value>
- Bodies with higher weight have more inertia and thus move lesser compared to other bodies. Default value is a list of zeros with the same length as the list passed to bodiestomove.
- targetspriority=<value>
- The prioritizing scheme of the selected design points to be employed while positioning the dummy.
Example
*dummyautomaticpositioner dummyid=1 designpointids={4 9} bodiestomove={9 13 8 12 11 15 10 14}
bodydofs={0 1 1 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0}
bodyweights={0 0 0 0 0 0 0 0} targetspriority=0
Errors
if { [ catch {command_name...} ] } {
# Handle error
}
Version History
2022