Adds or modifies an expression on a parameter without opening the
Expression Editor. If you want to open the Expression Editor during
execution, use the AddExpr command instead.
An expression is a string of characters that may include object and
parameter names, mathematical operators, and tokens representing
functions or constants. For example, to constrain object A's Y rotation
to object B's X translation, you would set an expression on
A.kine.local.roty consisting of the string B.kine.local.posx.
An expression is a mathematical formula that you can use to control any
parameter that can be animated, such as translation, rotation, scaling,
material, or texture. You can create almost any connection you like between
parameters, from simple "A = B" relationships to very complex ones using
predefined variables, standard math functions, random number generators,
and more.
For more information on expressions, see the Animation guide.
Note: This command uses output arguments. C# and some
scripting languages (such as JScript, PerlScript and Python) don't support arguments passed by reference so you
need to use the best workaround for your situation:
For scripting languages this command returns an ISIVTCollection
which you can use to get the output arguments.
For C# you can use the XSIApplication.ExecuteCommand method to call this command. ExecuteCommand
packs the output arguments into a C# System.Object containing an Array of the output arguments (see
Calling Commands from C#).
SetExpr( [InputObj], [ExprStr], [ExprObj] ); |
Parameter | Type | Description |
---|---|---|
InputObj | String |
List of parameters (for example "cone*/kine.local.pos"). Default Value: Currently selected and marked parameters |
ExprStr | String |
An expression. Default Value: Current parameter value (for example, "a.kine.global.posx = 3.5") |
ExprObj | XSICollection | Returns a list of expression objects |
' ' This example sets an expression on a parameter using the SetExpr ' command and then uses the EditExpr command to open the Expression ' Editor to inspect the new expression. ' ' Create the object on which to set the expression set oDonut = CreatePrim( "Torus", "NurbsSurface" ) ' Make sure the last frame will be set to 100 SetValue "PlayControl.Out", 100 ' Set a key frame at frame 1, with XPos = -30 SaveKey oDonut & ".kine.local.posx", 1, -30 ' Set another key frame at frame 100, with XPos = 30 SaveKey oDonut & ".kine.local.posx", 100, 30 ' Animate the YPos parameter with an expression SetExpr oDonut & ".kine.local.posy", _ "5*sin(" & oDonut & ".kine.local.posx * 15)" ' Now display the Expression Editor to see the results EditExpr oDonut & ".kine.local.posy" |