*SetMotion() - single motion
Sets the properties of a motion.
Syntax
*SetMotion(motion_name, DISP|VEL|ACCL, TYPE, TOKEN)
Token
If you select this TYPE, use this TOKEN
- LIN
- Enter a value for displacement, acceleration, and velocity properties
- CRV
- Use a Curve to represent the motion behavior. See Comments.
- SPL3D
- Use a Spline3D to represent the motion behavior. See Comments.
- EXPR
- Enter a solver expression that represents the motion behavior.
Arguments
- motion_name
- The variable name of an existing motion.
- DISP VEL ACCL
- This argument indicates whether a displacement, velocity, or acceleration is being specified.
- curve_name, AKIMA|CUBIC|LINEAR|QUINTIC, `indep_variable`
- When using curve data, a curve, an interpolation method, and an independent variable must be specified, where curve_name is the variable name of an existing curve that represents the force characteristic, the interpolation method can be set to AKIMA, CUBIC, LINEAR, or QUINTIC. The indep_variable is the solver expression representing the independent variable along which the force curve is characterized.
- spl3d name, AKIMA|CUBIC|LINEAR| QUINTIC, 'indep_var1', 'indep_var2'
- When using spline3d, a Spline3D entity, an interpolation method, and two independent variables must be specified, where spl3d_name is the variable name of an existing Spline3D entity that would represent the force v/s two independent variables. The interpolation method can be set to AKIMA, CUBIC, LINEAR, or QUINTIC. indep_var1 is the solver expression for the first independent variable. indep_var2 is the solver expression that represents the second independent variable.
- `expression`
- A solver expression for the motion.
Example
*RevJoint(j_crank_piv, "Crank pivot",
b_crank,
B_Ground,
p_crank_pivot,
p_crank_pivot_axis)
*Motion(crank_rot, "Crank rotation", j_crank_piv)
*SetMotion(crank_rot, DISP, `360D*TIME`)
*Motion(mounting, "Mounting", j_crank_piv)
*SetMotion(mtn1, VEL, ds.real1.value + ds.real2.value)
*Motion( mtn_stwheel, "Steering motion", j_stwheel)
*Curve( crv_mtn, "Steering input")
*SetMotion(mtn_stwheel, DISP, crv_mtn.interp(AKIMA, `TIME`))
*SetMotion(mtn_stwheel, DISP, `USER({ crv_mtn.id, %d })`)
Context
Comments
To specify non-linear properties for the motion in any direction, a solver expression, curve data, or spline 3D data can be used. When using solver expressions, Templex syntax is used and all variables are enclosed in braces {} and the rest is treated as literal.
The QUINTIC interpolation method is supported for MotionSolve only.