ExportCustomFile

導入

v8.0 (2010)

カテゴリ

ファイル

詳細

シーンの内容をカスタム ファイルに書き出します。 カスタムファイルのタイプは、書き出しカスタム コンバータイベントに登録されている必要があります(ファイル名の拡張子の指定方法については、「PluginRegistrar.RegisterConverterEvent」を参照)。

このコマンドによって、ファイルの拡張子を一致させるためのカスタム エクスポータである siOnBeginFileExport イベントおよび siOnEndFileExport イベントがこの順番で実行されます。

このコマンドが呼び出されると、FileType コンテキスト属性(siOnBeginFileExport に属する)、siOnCustomFileExport および siOnEndFileExport イベントに siFileTypeCustom 値が設定されます。

警告: 一致するファイルの拡張子とともに登録されているカスタムエクスポータイベントがない場合は、コマンドは失敗し、エラーがログに記録されます。

スクリプト構文

ExportCustomFile( FileName, [Target], [Frame], [UserData] );

パラメータ

パラメータ タイプ 詳細
FileName 文字列 書き出されたファイルの完全パス名
Target 文字列 書き出されたオブジェクト

デフォルト値: 選択されたオブジェクト

Frame Integer 指定されたオブジェクトの書き出し先となるフレーム。 この情報には、カスタム コンバータの書き出しイベント コールバックからのみアクセスすることができます。

デフォルト値: 現在のフレーム。

UserData パラメータ依存 カスタム コンバータの書き出しイベント コールバックからアクセス可能にする必要がある任意のデータ。

Python の例

#
# 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
#---------------------------------------------------------

関連項目

ImportCustomFile