オブジェクト モデルでのアドオン操作

 
 
 

Softimage アドオンのパッケージング、インストール、およびアンインストールに、Autodesk Softimage SDK のオブジェクト モデルを使用できます。 この機能は、簡単なスクリプトまたはコンパイル済みライブラリ ファイルを介して使用できます。

また、v1.0 プラグインのデバッグに役立つスクリプト用コマンドもいくつか用意されています。 プラグイン マネージャで実行できるタスクの一部は、これらのコマンドでシミュレートできます。

スクリプティングを使用してアドオンをパッケージングするには

アドオンをパッケージングするには、PackageAddon コマンドを使用するのが一番簡単です。このコマンドでアドオン ディレクトリ全体(たとえば、¥myserver¥myworkgroup¥Addons¥MyParticleTool)がパッケージングされます。

また、Addon オブジェクトを作成し、項目をまとめて一度に追加する方法もあります。 このようにスクリプティングを介してアドオンのパッケージングを利用する基本ワークフローは、[アドオンのパッケージ]ダイアログからアドオンをパッケージングするのとほぼ同じです。

  1. XSIApplication.CreateAddon を使用して、オブジェクトへのポインタを取得します。

    set oAddOn = Application.CreateAddon
  2. 必要に応じて、カスタマイズのコンポーネントを追加します。 次のように Addon.AddItem を使用して、UI から追加できるアイテムと同じ種類のアイテムを追加することができます。

    oAddOn.AddItem siToolbarAddonItemType, "MyToolbar" 
    		oAddOn.AddItem siScriptCmdAddonItemType, "myCmd"
    ヒント:

    アドオン作成スクリプトをより汎用的にするには、システム情報を使用してユーザ パスを取得します。

    sPath = InstallationPath( siUserPath )
    		oAddOn.AddItem siOtherAddonItemType, sPath & "\Data\MyHelpPage.html"
    注:

    Addon.AddItem メソッドの siOtherAddonItemType を使用するか、単にAddon.AddOtherItem メソッドを使用することができます。 異なる点は、AddOtherItem ではデスティネーション ディレクトリを指定できますが、AddItem では指定できないことです。 次のように入力すれば、最後の行と同等になります。

    oAddOn.AddOtherItem sPath & _
    		"\Data\MyHelpPage.html", "Help"
  3. アドオンにデフォルトのインストール パスを指定する場合は、Addon.DefaultInstallationPath プロパティを使用します。

    oAddOn.DefaultInstallationPath = siFactoryPath
    		oAddOn.SubDirectory = "ToxicTools"
  4. 項目の追加が完了したら、Addon.Save メソッドを使用して新しい .xsiaddon ファイルを保存します。

    oAddOn.Save sPath & "\addons\myAddOn.xsiaddon"

スクリプティングを介してアドオンパッケージをインストールするには

  • XSIApplication.InstallAddon メソッドを使用する方法があります。このメソッドでは、.xsiaddon ファイルのフル パス、およびアドオンのインストール先(Addons¥InstalledAddons パス。siInstallationPath を参照)を取得します。

    ヒント:

    インストール先は以下のいずれかになります。

    • 4 または siAddonPath(Add-on ディレクトリ パス)

    • 5 または siUserAddonPath(User Add-on ディレクトリ パス)

    • 6 または siWorkgroupAddonPath(Workgroup Add-on ディレクトリ パス)

    ' Install myAddon.xsiaddon in the workgroup
    		sPath = InstallationPath( siUserPath )
    		InstallAddon "\myAddon.xsiaddon", siWorkgroupAddonPath
    注:

    XSIApplicationオブジェクトはネイティブ オブジェクトであり、Softimage の実行インスタンスを表すため、Application オブジェクトを Softimage 内で明示的に指定する必要はありません。

オブジェクト モデルを使ってアドオン パッケージをアンインストールするには

  • UnInstallAddon(XSIApplication)メソッドを使用する方法があります。このメソッドでは、.xsiaddon ファイルのフル インストール パス(Addons¥InstalledAddons パス)を取得します。

    ' Uninstall the add-on by name
    		sPath = InstallationPath( siWorkgroupAddonPath )
    		UninstallAddon sPath & "\myAddon.xsiaddon"

単一アドオン ライブラリをロードし、アンロードするには

  • UnloadAddonLib コマンドを使用して、単独で指定した v1.0 プラグイン ライブラリをメモリからアンロードします。 これにより、開発環境のライブラリを簡単に修正および再コンパイルし、その後 ReloadAddonLib コマンドを使って再びロードすることができます。

これらのコマンドは両方とも、唯一の引数としてライブラリ ファイルのフル パスを取りますが、値は返しません。

すべてのアドオンのライブラリを一括してロードし、アンロードするには

  • UnloadAllAddonLibs コマンドを使用して、現在ロードしている v1.0 プラグイン ライブラリをメモリからアンロードします。 これにより、開発環境のライブラリを簡単に修正および再コンパイルし、その後 ReloadAllAddonLibs コマンドを使って再びロードすることができます。

    これらのコマンドは、引数を取らず、値を返しません。

COM(ActiveX)DLL をメモリからフラッシュするには

  • UnloadAllCOMLibs コマンドを使用して、未使用の ActiveX ライブラリを明示的に解放することができます。

    これらのコマンドは、引数を取らず、値を返しません。