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."
/>