| 説明 | 引数 | 実装
既存のカスタム コマンドのプロパティを修正するか、ビルトイン コマンドのプロパティを表示します。
コマンドのプロパティを修正/表示するには:[表示](View) [ツールバーのカスタマイズ](Customize Toolbars)に移動し、左からグループ、右からコマンドを選択し、[詳細](Details)をクリックします。
説明
名前(Name)
[Customize Toolbar]ダイアログ ボックス、[Keyboard Mapping]ダイアログ ボックス、Explorer などのリストに表示される識別名。スクリプト内のコマンドを呼び出すための名前ではありません。
スクリプト名(Scripting Name)
スクリプト内のコマンドを呼び出すための名前。
説明(Description)
コマンドの簡単な説明。この説明は、主に Softimage ユーザ インタフェース([ツールバーのカスタマイズ]および[キーボード マッピング]ダイアログ ボックスなど)でコマンドを説明するために使用されます。
ToolTip
マウス ポインタがツールバーのボタンに重なったときに表示される短い文字列。ツールヒントが定義されていない場合は詳細が使用され、詳細も定義されていない場合は名前が使用されます。
カテゴリ
コマンドが属しているカテゴリのリストが含まれた、パイプ("|")区切りの文字列。この情報は、リスト内のコマンドをフィルタリングする際に使用されます。カスタム コマンドは、常に「Custom」カテゴリに属します。
有効(Enabled)
コマンドのオン/オフを切り替えます。無効にされたコマンドは淡色表示され、メニューで選択できません。このオプションはユーザ インタフェースにのみ影響し、コマンドがスクリプトから実行されるのをブロックするわけではありません。
キーの割り当てに対応(Supports Key Assignment)
コマンドが[Keyboard Mapping]ダイアログ ボックスに表示され、キーに割り当てられるようにします。たとえば、直接使用したくない低レベルのヘルパー コマンドの場合は、このオプションをオフにすることができます。
バッチ処理で使用不可能(Cannot Be Used in Batch)
[xsibatch または xsi -script](xsibatch or xsi -script)を使用してコマンドラインから実行されるスクリプトにおいて、コマンドが使用されないようにします。コマンドがユーザからの入力を必要とする場合は、このオプションを有効にしてください。
ログ記録なし(Is Not Logged)
コマンドがコマンド履歴に記録されないようにします。
組込み(Built-in)
コマンドが Softimage に対してネイティブかどうかを示します。このオプションはカスタム コマンドでは常にオフで変更できません。
引数
ReturnValue
コマンドが値を返すのかどうかを指定します。false の場合、Softimage はコマンドが実際に値を返そうとするかどうかに関係なく、戻り値がないものとして扱います。
true の場合、Softimage は値を返そうと試みます。コマンドが実際に何も返さない場合は、空のバリアントが返されます。
VBScript を使用して値を返すには、「Sub...End Sub」ではなく「Function...End Function」を使用してください。
引数リスト
コマンドの引数があれば、それをリスト表示します。
引数の名前 カスタム コマンドの場合は、セルをクリックして新しい名前を入力できます。
タイプ(Type)
引数のタイプ: 入力または出力。カスタム コマンドでは、引数はすべて入力です。
デフォルト値(Default Value)
コマンド セルで値が指定されていない場合に使用される引数の値。カスタム コマンドの場合は、セルをクリックして新しい値を入力できます。
ハンドラ(Handler)
コマンド セルに渡される引数の値をプリプロセスするハンドラの名前。カスタム コマンドの場合は、セルをクリックしてリストから値を選択できます。
[None]: 引数のプリプロセスは実行されません。
[Animatable Marked Parameters]: この引数ハンドラは、アニメートできないリスト内のパラメータをすべて排除する以外は、以下のMarked Parameters 引数ハンドラと同じです。これは、コマンドの実装に際して余分なエラー処理コードの記述を不要にする簡単な方法です。
[Collection/Selection]: 引数の値が指定されていない場合、この引数ハンドラは現在の選択内容をコマンドに渡します。
文字列が指定されている場合、その文字列は指定されたすべてのオブジェクトが含まれた XSICollection として処理されます。ワイルドカードやオブジェクトのリストは、SelectObj で使用されるものと同じ構文でサポートされます。たとえば、「*]、「*.polymsh」、「cube1,grid2,light1」などです。
[SingleObj]: 引数の値が指定されていない場合、この引数ハンドラは値としてNULL(空のオブジェクト)を渡します。文字列が指定されている場合、Softimage はその文字列をオブジェクトとして処理しようと試みます。たとえば、「MyGrid」はグリッドを表す X3DObject に変換されます。これは、Dictionary.GetObject を呼び出す動作に似ています。オブジェクトが指定されている場合は、そのオブジェクトを直接 Command に渡します。
[Frame]: 引数の値が指定されていない場合、この引数ハンドラは現在のフレーム番号を引数の値として送ります。引数の値(またはデフォルト値)が指定されている場合、この引数ハンドラは何もしません。
[Frame Rate]: 引数の値が指定されていない場合、この引数ハンドラは現在のフレームレート(25など)を送ります。引数の値(またはデフォルト値)が指定されている場合、この引数ハンドラは何もしません。
[Marked Parameters]: この引数ハンドラは、マークされたパラメータを処理する以外は、Collection/Selection 引数ハンドラと同じです。
引数の値が指定されていない場合、この引数ハンドラは選択したオブジェクトに関してマークされているすべてのパラメータが含まれた XSICollection を渡します。マーキング リストを決定する際には、選択したオブジェクトだけが考慮されることに注意してください。
文字列の値が指定されている場合、Softimage はその文字列を指定された引数を持つ XSICollection として処理しようと試みます。ワイルドカード("*"や"/"など)がサポートされています。たとえば、"Grid1,Grid2/Name"はパラメータ Grid1.Name および Grid2.Name として処理されます。
追加(Add Argument)
カスタム コマンドの新しい引数を追加します。このボタンをクリックしてから、上記の Argument List で新しいパラメータの列を編集します。
削除(Remove Argument)
リスト内の最後の引数を削除します。
実装
言語(Language)
コマンドを記述する言語。
コマンドを実装する関数またはサブルーチンの名前。つまり、ハンドラはコマンドが実行されるたびに Softimage が呼び出すコールバック関数の名前です。
スクリプト ファイルに実装されたカスタム コマンドの場合は、適切な関数またはサブルーチンの名前を指定します。ハンドラは、引数をコマンドに渡したい場合や、同じスクリプト ファイルに複数のコマンドを実装したい場合に必要です。ハンドラを指定しない場合は、グローバルなコードが実行されます。
コンパイル済みのライブラリ(.dll または .so ファイル)に実装されたコマンドの場合、名前は固定で、ハンドラは無視されます。
組み込まれたコマンドに引数を渡したい場合はハンドラが必要です。
実装(Implementation)
コマンド ハンドラが格納されている場所。
[Embedded]: ハンドラは、ユーザアプリケーションのパスにあるコマンドマップファイルに直接格納されています。カスタムコマンドの場合は、[Embedded Code]の欄にある編集ペインにハンドラのコードを入力します。数個のコマンドからなる短いマクロには有効です。長いスクリプトの場合は、外部スクリプト ファイルやプラグインを使うほうが簡単です。
[in Script File(or DLL)]: ハンドラは外部のファイル内にあります。カスタムコマンドの場合は、次の[ファイル名]でファイルを指定します。
ファイル名(File Name)
コマンド ハンドラが含まれた外部ファイルのパスと名前。
組み込みコード
Generate Stub
以下の編集ペインで指定された(引数を含む)スタブ関数を生成します。このボタンは、新しいカスタム コマンドを作成する場合にのみ使用します。再生成すると、既存のコードがすべて上書きされます。
[Editing Pane]
組み込まれたコマンド ハンドラのコードが表示されます。カスタム コマンドを修正するには、テキストを編集します。
ハンドラを使用している場合は、コマンドが呼び出されたときに、対応する関数やサブルーチンに含まれたコードが実行されます。ハンドラを使用していない場合は、グローバルなコードが実行されます。