v8.0 (2010)
File
Imports the contents of the specified custom file into the scene
. The custom file type must be registered in an import custom
converter event (see PluginRegistrar.RegisterConverterEvent
for more information about how to specify the extension of the
filename).
This command fires the following events: siOnBeginFileImport,
the custom importer registered for the matching file extension, and
siOnEndFileImport,
in that order.
The FileType context
attribute of the siOnBeginFileImport,
siOnCustomFileImport
and siOnEndFileImport
events will have the siFileTypeCustom
value when this command is called.
Warning: If there is no custom importer event registered with the
matching file extension, the command will fail and an error will be
logged.
ImportCustomFile( FileName, [Target], [Reference], [Name], [Frame], [UserData] ); |
Parameter | Type | Description |
---|---|---|
FileName | String | The full path name of the custom file to import. |
Target | String | The parent of the content imported from the custom file.
Default Value: Scene_Root |
Reference | Boolean | Specifies whether a reference model is being imported, if
applicable. This information is only accessible from the Reference context
attribute for the siOnBeginFileImport
and siOnEndFileImport
events.
Default Value: False |
Name | String | The name of the reference model created during the import. This
information is only accessible from the Name context
attribute for the siOnBeginFileImport
and siOnEndFileImport
events.
Default Value: "" |
Frame | Integer | Frame at which to import the contents of the custom file. This
information is only accessible from the custom converter import
event callback.
Default Value: Current frame. |
UserData | Parameter-dependent | Any data that needs to be accessible from the custom converter import event callback. |
/* First of all, an import converter event must be registered with the extension of the file to import. */ function XSILoadPlugin( in_reg ) { in_reg.Author = "ABC" ; in_reg.Name = "ABC Text Converter plugin" ; in_reg.Major = 1; in_reg.Minor = 0; in_reg.URL = "www.abc.com" // Let XSI know that this plug-in implements custom import/export events for ABC files in_reg.RegisterConverterEvent("ABCTextImport",siOnCustomFileImport, "ABC"); in_reg.RegisterConverterEvent("ABCTextExport",siOnCustomFileExport, "ABC"); return true ; } function ABCTextImport_OnEvent( in_ctxt ) { Application.LogMessage("ABC Text Import Event called..."); Application.LogMessage("FileName: " + in_ctxt.GetAttribute("FileName")); Application.LogMessage("Target: " + in_ctxt.GetAttribute("Target")); Application.LogMessage("FileType: " + in_ctxt.GetAttribute("FileType")); Application.LogMessage("Frame: " + in_ctxt.GetAttribute("Frame")); Application.LogMessage("UserData: " + in_ctxt.GetAttribute("UserData")); } function ABCTextExport_OnEvent( in_ctxt ) { Application.LogMessage("ABC Text Export Event called..."); Application.LogMessage("FileName: " + in_ctxt.GetAttribute("FileName")); Application.LogMessage("Target: " + in_ctxt.GetAttribute("Target")); Application.LogMessage("FileType: " + in_ctxt.GetAttribute("FileType")); Application.LogMessage("Frame: " + in_ctxt.GetAttribute("Frame")); Application.LogMessage("UserData: " + in_ctxt.GetAttribute("UserData")); } /* Then, the ImportCustomFile command may be called from any script. */ ImportCustomFile("MyABCfile.abc", "Scene_Root", false, "myImportFile", 40, "ABCImportOptions"); //--------------------------------------------------------- // Output from this script: // INFO : ABC Text Import Event called... // INFO : FileName: MyABCfile.abc // INFO : Target: Scene_Root // INFO : FileType: 31 // INFO : Frame: 40 // INFO : UserData: ABCImportOptions //--------------------------------------------------------- |