Motion: Joint Based
Command ElementModifies a joint motion element.
Format
<Motion_Joint
id = "integer"
joint_id = "integer"
motion_type = { "R" | "T" }
{
val_type = "D"
|
val_type = "V"
ic_disp = "real"
|
val_type = "A"
ic_disp = "real"
ic_vel = "real"
}
{
type = "EXPRESSION"
expr = "motionsolve_expression"
|
type = "USERSUB"
usrsub_dll_name = "valid_path_name"
usrsub_param_string = "USER([[par_1[,...][,par_n]])
"
usrsub_fnc_name = "valid_function_name"
}
/>
Attributes
- id
- Element identification number (integer>0). This number is unique among all Motion_Joint elements.
- type
- Select either "EXPRESSION" or "USERSUB". Specifies how the motion is defined. The "EXPRESSION" option specifies that the motion value is a MotionSolve expression that can be evaluated at run-time. The "USERSUB" option indicates that the value of the motion value is specified in a user defined subroutine. The parameters usrsub_param_string, usrsub_dll_name and usrsub_fnc_name are used to provide more information about the user defined subroutine.
- val_type
- Modifies whether the motion applies a displacement input ("D"), a velocity input ("V"), or an acceleration input ("A").
- expr
- Modifies the expression that defines the motion value. Use this parameter only when type = "EXPRESSION". Any valid run-time MotionSolve expression can be provided as input.
- usrsub_param_string
- Modifies the list of parameters that are passed from the data file to the user defined function specified by usrsub_fnc_name. Use this keyword only when type = "USERSUB" is selected.
- usrsub_dll_name
- Modifies the path and name of the DLL or shared library containing the user subroutine. MotionSolve uses this information to load the user subroutine specified by usrsub_fnc_name in the DLL at run time.
- usrsub_fnc_name
- Modifies the name for the user subroutine function (from the default of MOTSUB).
- joint_id
- Specifies the ID of the joint at which the motion input is applied.
- motion_type
- Modifies the type of motion to be applied. Select from "R" and "T", which stand for rotational and translational, respectively.
- ic_disp
- Modifies the displacement initial condition that is required when val_type = "V" or val_type = "A".
- ic_vel
- Modifies the velocity initial condition that is required when val_type = "A".
Example
<Motion_Joint
id = "101001"
type = "EXPRESSION"
val_type = "D"
expr = "-.2*TIME"
joint_id = "101002"
motion_type = "R"
ic_disp = "0."
ic_vel = "0."
/>
<Motion_Joint
id = "301001"
type = "USERSUB"
val_type = "D"
usrsub_param_string = "USER(5,2)"
usrsub_dll_name = "NULL"
joint_id = "301002"
motion_type = "R"
ic_disp = "0."
ic_vel = "0."
/>