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;
} |