エクスプレッションは、スクリプト コマンド(Parameter.AddExpression メソッドまたは Parameter::AddExpression メソッド)を使用して作成できます。エクスプレッション関数を使用することで、SetExpr コマンドは、指定したパラメータ値の代わりに Expression または Expression オブジェクトを使用します(使用可能なエクスプレッション関数の詳細については、エクスプレッション リファレンスを参照)。
Python の例: SetExpr コマンドを使ってのエクスプレッションの設定
from win32com.client import constants as c n = Application.ActiveSceneRoot.AddNull( "Null4Expr" ) params = n.posx.FullName+","+n.posy.FullName+","+n.posz.FullName Application.SetExpr( params, "RAND(17,2,7)" )
この例のスレッドは、次に siSourceType enum が使用された、「Python の例: GetSource コマンドを使用する」内のエクスプレッションにアクセスします(定数モジュールがインポートされたのはこのため)。
JScript の例: Parameter.AddExpression メソッドを使ってのエクスプレッションの設定
以下のようにランダムなエクスプレッションを適用すると、優れたエフェクトを作成できます。
var n = Application.ActiveSceneRoot.AddNull( "Null4Expr" ); n.posx.AddExpression( "RAND(17,2,7)" ); n.posy.AddExpression( "RAND(17,2,7)" ); n.posz.AddExpression( "RAND(17,2,7)" );
この例のスレッドは、次に「JScript の例: Source プロパティを使用する」内のエクスプレッションにアクセスします。
C++ API の例: Parameter::AddExpression メンバ関数を使ってのエクスプレッションの設定
以下のコードの断片は、前述の JScript の例と同等の C++ API です。
// Setup Application app = Application(); Model root = app.GetActiveSceneRoot(); Null n; root.AddNull( L"Null4Expr", n ); // Get Parameters for names Parameter posx = n.GetParameter(L"posx"); Parameter posy = n.GetParameter(L"posy"); Parameter posz = n.GetParameter(L"posz"); // Set the expression posx.AddExpression( L"RAND(17,2,7)" ); posy.AddExpression( L"RAND(17,2,7)" ); posz.AddExpression( L"RAND(17,2,7)" );
この例のスレッドは、次に「C++ の例: GetSource メンバを使用する」内のエクスプレッションにアクセスします。