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