Set Up User-Defined Modeling Elements
In addition to writing your solver subroutine, you also have to modify the corresponding modeling element in your multibody model so that it receives output value(s) from the user subroutine.
This can be done in two ways:
Select the method to modify the corresponding modeling element in your
multibody model:
- By editing the MotionSolve XML file.
- By modifying the entity in the MotionView interface and producing a new XML file.
Regardless of the method you select, you will end up with an XML file
where one or more entities are now user defined.
For example, the following
motion
entity:
<Motion_Joint
id = "101001"
type = "EXPRESSION"
val_type = "D"
expr = "-.2*TIME"
joint_id = "101002"
joint_type = "R"
motion_type = "R"
ic_disp = "0."
ic_vel = "0.">
</Motion_Joint>
can
be modified in the following manner to indicate that the motion value is
computed in a user subroutine, as opposed to an explicit function
expression.
<Motion_Joint
id = "101001"
type = "USERSUB"
val_type = "D"
usrsub_param_string = "USER(5,2)"
usrsub_dll_name = "C:/work/testsub.dll"
joint_id = "101002"
joint_type = "R"
motion_type = "R"
ic_disp = "0."
ic_vel = "0.">
</Motion_Joint>