v4.0
新しいスクリプトオペレータを作成し、その出力をこのオブジェクトに接続します。スクリプトファイルが指定されていない場合には、デフォルトの実装が使用されます。パラメータ接続では現在値が割り当てられるだけです(例:'out.value = 0.00')。
スクリプト言語の指定は省略できます。指定しない場合には、ファイル拡張子に関連付けられている言語が使用されます。これで言語が特定できない場合は、現在のスクリプト言語のユーザプリファレンスが使用されます。
CustomOperator Parameter.AddScriptedOpFromFile( String bszFileName, Object vInputs, String bszName, String bszLanguage ); |
Parameter.AddScriptedOpFromFile( [FileName], Inputs, [Name], [Language] ); |
パラメータ | タイプ | 説明 |
---|---|---|
FileName | String | スクリプト オペレータの実装を含むスクリプトのファイル名 |
Inputs | List | 入力ポートに接続するオブジェクトまたはパラメータのリスト |
Name | String |
新しいオペレータの名前 デフォルト値: ScriptedOp |
Language | String |
新しいスクリプトオペレータのスクリプト言語 デフォルト値:application.preferences.scripting.language から取得した設定値 |
/* This example demonstrates how to create a simple expression-like scripted operator to constrain the posx of an object to its posy value */ NewScene(null, false); var obj = Application.ActiveSceneRoot.AddNull(); // Create script file on disk var filename = Application.InstallationPath( siUserPath ) + "\\Data\\Scripts\\myexpr_sop.js"; var fso = new ActiveXObject( "Scripting.FileSystemObject" ); var f = fso.CreateTextFile( filename, true ); f.Write( myexpr_Update.toString() ); f.Close(); // Apply scripted operator obj.posx.AddScriptedOpFromFile( filename, obj.posy, "myexpr", "JScript" ); // Expression Update function function myexpr_Update( ctx, out, inposy ) { out.Value = inposy; } |