## ImportAction

### Introduced

v1.0

### Description

Imports an action from a file. The imported action is added to the animation source list of the specified model.
The file formats accepted by this command are:
- External Softimage Native Binary Action (".eani") files.
- dotXSI Action (".xsi") files.
- Softimage Preset Action(".Preset") files.
This command supports downloading most file types off the internet. If the filename specified is a URL then the file will be downloaded locally before the command is executed. However URL arguments are not supported for Soft3D animation files.

### Scripting Syntax

    oReturn = ImportAction( Model, [FileName], [Name], [ActionStorage] );

### Return Value

Returns the action as an ActionSource.

### Parameters

Parameter | Type | Description
--- | --- | ---
Model | String or Model | Model into which the action is imported.
FileName | String | Full path to the file to import. Default Value: User is prompted to select a file
Name | String | Name of the new action. Default Value: The file name
ActionStorage | Integer based on the values listed in siAssetStorageType | Whether the imported action will be saved internally or externally. If you specify -1 it will automatically detect what kind of file it is and set it. Default Value: 0 (saved in the scene)

### Examples

#### JScript Example

    /*

    This example demonstrates how to export and import an action. It also

    shows how to create an action source from a static source and then

    how to access the static source from the imported action.

    */

    NewScene( null, false );

    var root = ActiveSceneRoot;

    // Create a static action

    var obj = root.AddGeometry( "Cone", "MeshSurface" );

    var targets = new Array( obj.rotx.FullName, obj.roty.FullName, obj.rotz.FullName );

    var statics = new Array( 22.5, 90, 45 );

    var actives = new Array( true, true, true );

    var src = root.AddActionSource( "StoredAnimStaticAction", targets, statics, actives );

    // Export the action

    var path = Application.InstallationPath( siProjectPath ) + "\\Actions";

    var filepath = path + "\\TestImportAction.eani";

    ExportAction( src, filepath );

    // Import the action into a new scene but this time in a different model

    NewScene( null, false );

    var mdl = ActiveSceneRoot.AddModel();

    mdl.Name = "TestActionModel";

    var newsrc = ImportAction( mdl, filepath, "ImportedAction4Test", -1 );

    if ( newsrc.SourceItems.Count > 0 ) {

    	LogMessage( "Imported action contains these items: " );

    	for ( var s=0; s<newsrc.SourceItems.Count; s++ ) {

    		var datasrc = newsrc.SourceItems(s).Source;

    		LogMessage( "\t" + datasrc );

    	}

    } else {

    	LogMessage( "Imported action is a(n) " + ClassName(newsrc) );

    }

    // Expected results:

    //INFO : Imported action contains these items:

    //INFO : 	StaticSource

    //INFO : 	StaticSource

    //INFO : 	StaticSource

### See Also

ExportAction LoadActionPreset ImportMixer