ExecuteCommand (XSIApplication)

Introduced

6.0

Description

Executes a Softimage Command identified by its scripting name. This method can be used to execute any built-in or custom command. This method is similar to XSIApplication.ExecuteScriptCommand, but unlike ExecuteScriptCommand, the method doesn't pack output arguments in an ISIVTCollection object but rather in a standard Array.

Typically this method is not necessary from scripting because Softimage commands can be invoked directly. So the main purpose of this method is to enable applications written with C# to be able to call Softimage commands.

Scripting Syntax

XSIApplication.ExecuteCommand( Name, [Arguments] )

C# Syntax

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

Parameters

Parameter

Type

Description

Name

String

Command's script name

Arguments

Array of Variants in scripting or array of System.Objects in C#.

Array of all required command arguments, including output arguments.

Return Value

Returns a C# System.Object or a Variant in scripting, containing the value returned from the command. If the command has no return value explicitly defined, ExecuteCommand returns all output arguments in an Array object. However, if the command defines a return value, you cannot extract any output arguments from it. This is because the command is not returning an output argument array, but a specific value. You can check the Return Value section in the Softimage reference documentation to see whether it uses an explicit return value and what that value is.

Examples

C# Example

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

See Also

XSIApplication.ExecuteScriptCommand

Command



Autodesk Softimage v7.5