XSIApplication.ExecuteCommand

導入

v6.0

詳細

スクリプト名で特定された Softimage Command を実行します。このメソッドを使用すると、組み込みコマンドおよびカスタムコマンドを実行できます。このメソッドは XSIApplication.ExecuteScriptCommand に似ていますが、ExecuteScriptCommand,と違い、ISIVTCollection オブジェクトの出力引数をパックするのではなく、標準の Array の出力引数をパック化します。

Softimage コマンドは直接呼び出すことができるため、通常のスクリプトではこのメソッドは必要ありません。したがって、C#で記述されているアプリケーションで Softimage コマンドを呼び出せるようにすることが、このメソッドの主な用途になります。

C#構文

Object XSIApplication.ExecuteCommand( String in_bzScriptName, Object in_vsa );

スクリプト構文

oVariant = XSIApplication.ExecuteCommand( Name, [Arguments] );

戻り値

コマンドから戻された値を含む System.Object(C#の場合)または Variant(スクリプトの場合)。明示的に定義された戻り値がコマンドに存在しい場合、ExecuteCommand は Array オブジェクトのすべての出力引数を戻します。ただし、コマンドで戻り値を定義している場合は、戻り値から出力引数を抽出することはできません。これは、そのコマンドが出力引数の配列ではなく特定の値を戻すためです。「C#およびスクリプトリファレンス」の「戻り値」セクションでは、コマンドが明示的な戻り値を使用するかどうかや、その値が何であるかを調べることができます。

パラメータ

パラメータ タイプ 説明
Name String コマンドのスクリプト名
Arguments VariantArray(スクリプトの場合)、System.Objects の配列(C#の場合)。 出力引数を含むすべての必要なコマンド引数の配列です。

C#の例

//

// This example illustrates how to use Softimage commands from C#.

//

CXSIApplication xsi = new CXSIApplication();

try

{

	// Create a cube to add the new property

	Object[] args = new Object[4] { "Cube", "MeshSurface", null, null };

	xsi.ExecuteCommand("CreatePrim", args);

	// Add an Annotation property to the new cube

	args = new Object[5] { "Annotation", null, null, "Annotation", null };

	Array retVal = (Array)xsi.ExecuteCommand("SIAddProp", args);

	// Inspect the Annotation Property

	args = new Object[5];

	args[0] = retVal;

	xsi.ExecuteCommand("InspectObj", args);

}

catch (Exception e)

{

	xsi.LogMessage("Exception raised: " + e.ToString(), siSeverity.siError);

}

関連項目

XSIApplication.ExecuteScriptCommand Command