ジャンプ先: 概要. 戻り値. フラグ. Python 例.
commandPort([bufferSize=int], [close=boolean], [echoOutput=boolean], [listPorts=boolean], [name=string], [noreturn=boolean], [pickleOutput=boolean], [prefix=string], [returnNumCommands=boolean], [securityWarning=boolean], [sourceType=string])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
commandPort は、取り消し可能、照会可能、および編集不可能です。
Maya コマンド ポートを開閉します。コマンド ポートは、クライアント プログラムが接続されるソケットを構成します。サンプルのコマンド ポート クライアント「mcp」は、モーション キャプチャのデベロッパー キットに含まれています。
マルチバイト コマンドをサポートし、トランスフォーム フォーマットとして utf-8 を使用します。utf8 コマンド文字列を受信し、Maya のネイディブ コーディングにデコードします。結果は、utf-8 にエンコードしてから返信されます。
INET ドメイン ソケットに関しては注意が必要です。Maya ユーザのユーザ ID と権限があれば、指定したソケットに接続するためにユーザの識別や承諾が必要なく、すべてのコマンド(「system(...)」を含む)が許可され、実行できるからです。prefix フラグを使用すると prefix コマンドだけが実行されるため、このセキュリティ リスクを減らすことができます。
query フラグを使って、指定したコマンド ポートが存在するかどうかを判断できます。下記の例を参照してください。
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
bufferSize, close, echoOutput, listPorts, name, noreturn, pickleOutput, prefix, returnNumCommands, securityWarning, sourceType
| ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
|
bufferSize(bs)
|
int
|
|
|
コマンドや結果は、それぞれサイズ制限に従います。このオプションを使用すると、Maya との通信に使用するバッファ サイズを指定できます。指定がない場合の既定のバッファ サイズは、4096 文字です。コマンドが bufferSize の文字より長いと、クライアント接続は閉じられます。bufferSize 文字より長い結果は、エラー メッセージに置き換えられます。
|
|
close(cl)
|
boolean
|
|
|
commandPort を閉じ、パイプを削除します。
|
|
echoOutput(eo)
|
boolean
|
|
|
すべてのコマンド出力のコピーがコマンド ポートに送信されます。一般的には、結果だけが転送されます。このオプションは、すべての出力のコピーを提供します。
|
|
listPorts(lp)
|
boolean
|
|
|
|
name(n)
|
string
|
|
|
このコマンドが作成するコマンド ポートの名前を指定します。name 形式の CommandPort 名は、name に対応するローカル ホストの UNIX ドメイン ソケットを作成します。name が「/」 で始まらない場合は、/tmp/name が使用されます。name が「/」で始まる場合、name はソケットのフル パスを示します。:port number 形式の名前は、指定したポートのローカル ホスト上に INET ドメインを作成します。
|
|
noreturn(nr)
|
boolean
|
|
|
コマンド ポート ソケットには実行したコマンドからの結果を書き込みません。代わりに、実行したコマンドからの結果をスクリプト エディタ(Script Editor)エディタ ウィンドウに書き込みます。提出したコマンドの実行に関連する情報がコマンド ポート クライアントに戻されないとき、コマンド バッファをオーバーフローさせないように注意する必要があります。オーバーフローさせると接続が閉じられます。
|
|
pickleOutput(po)
|
boolean
|
|
|
Python の出力は pickle 化されます。
|
|
prefix(pre)
|
string
|
|
|
文字列引数は、1 つの文字列引数を取る Maya コマンドの名前です。このコマンドは、時間データがコマンド ポートに送信されるたびにコールされます。コマンド ポートに書き込まれたデータは、prefix コマンドに引数として渡されます。コマンド ポートからのデータは、enocodeString と同様にエンコードされ、引用符で囲まれます。コマンド ポート データに改行文字が埋め込まれている場合は、その入力は個別のラインに分割されます。これらのラインは、コマンド ポートへの別々の書き込みであるかのように取り扱われます。最後の prefix コマンドに対する結果だけが返されます。
|
|
returnNumCommands(rnc)
|
boolean
|
|
|
コマンドの結果を無視し、このコールで読み取って実行されたコマンドの数を返します。これは、バッファのオーバーフローを追跡する簡単な方法です。noreturn フラグを指定すると、このフラグは無視されます。
|
|
securityWarning(sw)
|
boolean
|
|
|
コマンド ポートの入力のセキュリティ警告を有効化します。
|
|
sourceType(stp)
|
string
|
|
|
この文字列引数は、commandPort に渡される「mel」、「python」などのソース タイプを示すのに使用されます。既定のソース タイプは「mel」です。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
# Open a command port with the default name "mayaCommand".
cmds.commandPort()
# Close the command port with the default name. Open client connections
# are not broken.
cmds.commandPort( cl=True )
# Query to see if the command command port "mayaCommand" exists.
cmds.commandPort( 'mayaCommand', q=True )