Addon

Object Hierarchy

継承

SIObject

Addon

導入

v3.5

詳細

Addon オブジェクトにより、スクリプトを使用してアドオンをパッケージング、インストール、アンインストールできます。アドオンとは、ツールバー、カスタムコマンド、レイアウトなどの項目のコレクションのことで、パッケージをしたりコンピュータに配布したりすることができます。

注:Addon オブジェクトにより.xsiaddon ファイルの内容を精密に制御できますが、各ファイルを個別に追加する必要があります。PackageAddon コマンドを使用すると、簡単に .xsiaddon ファイルを構築できます。

メソッド

AddItem AddOtherItem IsClassOfオペレータ IsEqualToオペレータ
Save SetAddonDetail    
       

プロパティ

Application Categories DefaultInstallationPath FullNameオペレータ
Help Nameオペレータ NestedObjects Origin
OriginPath Parent SubDirectory Typeオペレータ

JScript の例

/*     --------------------------------------------------------------
                This example creates and registers a custom
                command and then shows how you can package it 
                as an add-on through scripting.
        ----------------------------------------------------------------- */
/*
        PART ONE: SET UP THE COMMAND
*/
// Start off with a clean slate
NewScene( null, false );
Application.RemoveCommand( "Howdy" );
// Get the factory (installation) path and use it to build the filename and path
var sPath = InstallationPath( siUserPath );
var sCmdFileName = XSIUtils.BuildPath( sPath, "Data", "Scripts", "HelloWorld.js" );
// Create a "hello world" script file
var fso = new ActiveXObject( "Scripting.FileSystemObject" );
var fHWFile = fso.CreateTextFile( sCmdFileName  );
fHWFile.WriteLine( "function SayHi()" );
fHWFile.WriteLine( "{" );
fHWFile.WriteLine( "\tApplication.LogMessage( \"Hello, World!\" );" );
fHWFile.WriteLine( "}" );
fHWFile.Close();
// Add it to the command map in Softimage
var oCmd = Application.CreateCommand( "Howdy", siExportCategory );
oCmd.Description = "Display the traditional greeting";
oCmd.ScriptingName = "Howdy";
oCmd.Handler = "SayHi";
oCmd.FileName = sCmdFileName;
oCmd.Language = "JScript";
Application.AddCommand( oCmd );
// Run it make sure it works
oCmd.Execute();
/*
        PART TWO: PACKAGE IT AS AN ADD-ON
*/
// Set up the add-on package object
var oAddOn = Application.CreateAddon();
// Add the new command to the add-on package
oAddOn.AddItem( siScriptCmdAddonItemType, oCmd );
// Set the default installation path and subdirectory for installation
oAddOn.DefaultInstallationPath = siUserAddonPath;
oAddOn.SubDirectory = "HiyaProject";
// Save the .xsiaddon file to disk
var sAddOnFileName = XSIUtils.BuildPath( sPath, "myAddOn.xsiaddon" );
oAddOn.Save( sAddOnFileName );
// Remove the custom command we created and then install the add-on
Application.RemoveCommand("Howdy");
fso.DeleteFile( sCmdFileName, true );
oCmd = null;
oAddOn = null;
Application.InstallAddon( sAddOnFileName, siUserAddonPath );
// Run the command to make sure it still works after we removed it and
// then reinstalled it from our new add-on package
Commands( "Howdy" ).Execute();
// Clean up and remove the add-on package
sInstalledAddOnFileName = XSIUtils.BuildPath( InstallationPath( siUserAddonPath ), "InstalledAddons", "myAddOn.xsiaddon" );
Application.UninstallAddon( sInstalledAddOnFileName );
// --------------------------------------------------------------
// Output of the above script is:
//
//INFO : "Hello, World!"
//Howdy(null);
//INFO : "Hello, World!"
//Howdy(null);

関連項目

XSIApplication.CreateAddon XSIApplication.InstallAddon XSIApplication.UnInstallAddon PackageAddon CreateAddonDirectories