v8.0 (2010)
ファイル
シーンの内容をカスタム ファイルに書き出します。 カスタムファイルのタイプは、書き出しカスタム
コンバータイベントに登録されている必要があります(ファイル名の拡張子の指定方法については、「PluginRegistrar.RegisterConverterEvent」を参照)。
このコマンドによって、ファイルの拡張子を一致させるためのカスタム エクスポータである siOnBeginFileExport
イベントおよび siOnEndFileExport
イベントがこの順番で実行されます。
このコマンドが呼び出されると、FileType
コンテキスト属性(siOnBeginFileExport
に属する)、siOnCustomFileExport
および siOnEndFileExport
イベントに siFileTypeCustom
値が設定されます。
警告:
一致するファイルの拡張子とともに登録されているカスタムエクスポータイベントがない場合は、コマンドは失敗し、エラーがログに記録されます。
| ExportCustomFile( FileName, [Target], [Frame], [UserData] ); | 
| パラメータ | タイプ | 詳細 | 
|---|---|---|
| FileName | 文字列 | 書き出されたファイルの完全パス名 | 
| Target | 文字列 | 書き出されたオブジェクト デフォルト値: 選択されたオブジェクト | 
| Frame | Integer | 指定されたオブジェクトの書き出し先となるフレーム。 この情報には、カスタム コンバータの書き出しイベント
コールバックからのみアクセスすることができます。 デフォルト値: 現在のフレーム。 | 
| UserData | パラメータ依存 | カスタム コンバータの書き出しイベント コールバックからアクセス可能にする必要がある任意のデータ。 | 
| 
#
# First of all, an export converter event must be registered with the extension of the file to export.
#
from win32com.client import constants as c
def 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", c.siOnCustomFileImport, "ABC" )
        in_reg.RegisterConverterEvent( "ABCTextExport", c.siOnCustomFileExport, "ABC" )
        return 1
def ABCTextImport_OnEvent( in_ctxt ) :
        app = Application
        app.LogMessage( "ABC Text Import Event called..." )
        app.LogMessage( "FileName: " + in_ctxt.GetAttribute("FileName") )
        app.LogMessage( "Target: " + str(in_ctxt.GetAttribute("Target")) )
        app.LogMessage( "FileType: " + str(in_ctxt.GetAttribute("FileType")) )
        app.LogMessage( "Frame: " + str(in_ctxt.GetAttribute("Frame")) )
        app.LogMessage( "UserData: " + str(in_ctxt.GetAttribute("UserData")) )
def ABCTextExport_OnEvent( in_ctxt ) :
        app = Application
        app.LogMessage( "ABC Text Export Event called...");
        app.LogMessage( "FileName: " + in_ctxt.GetAttribute("FileName") );
        app.LogMessage( "Target: " + str(in_ctxt.GetAttribute("Target")) );
        app.LogMessage( "FileType: " + str(in_ctxt.GetAttribute("FileType")) )
        app.LogMessage( "Frame: " + str(in_ctxt.GetAttribute("Frame")) )
        app.LogMessage( "UserData: " + str(in_ctxt.GetAttribute("UserData")) );
#
# Then, the ExportCustomFile command may be called from any script.
#
Application.ExportCustomFile( "MyABCfile.abc", "Scene_Root", 50, "ABCExportOptions" )
#---------------------------------------------------------
# Output from this script:
# INFO : ABC Text Export Event called...
# INFO : FileName: MyABCfile.abc
# INFO : Target: Scene_Root
# INFO : FileType: 31
# INFO : Frame: 50.0
# INFO : UserData: ABCExportOptions
#---------------------------------------------------------
 |