ジャンプ先: 概要. 戻り値. フラグ. 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 フラグを使って、指定したコマンド ポートが存在するかどうかを判断できます。下記の例を参照してください。

戻り値

boolean- 照会モードで

照会モードでは、戻り値のタイプは照会されたフラグに基づきます。

フラグ

bufferSize, close, echoOutput, listPorts, name, noreturn, pickleOutput, prefix, returnNumCommands, securityWarning, sourceType
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
bufferSize(bs) int create
コマンドや結果は、それぞれサイズ制限に従います。このオプションを使用すると、Maya との通信に使用するバッファ サイズを指定できます。指定がない場合の既定のバッファ サイズは、4096 文字です。コマンドが bufferSize の文字より長いと、クライアント接続は閉じられます。bufferSize 文字より長い結果は、エラー メッセージに置き換えられます。
close(cl) boolean create
commandPort を閉じ、パイプを削除します。
echoOutput(eo) boolean create
すべてのコマンド出力のコピーがコマンド ポートに送信されます。一般的には、結果だけが転送されます。このオプションは、すべての出力のコピーを提供します。
listPorts(lp) boolean create
使用可能なポートを返します。
name(n) string create
このコマンドが作成するコマンド ポートの名前を指定します。name 形式の CommandPort 名は、name に対応するローカル ホストの UNIX ドメイン ソケットを作成します。name が「/」 で始まらない場合は、/tmp/name が使用されます。name が「/」で始まる場合、name はソケットのフル パスを示します。:port number 形式の名前は、指定したポートのローカル ホスト上に INET ドメインを作成します。
noreturn(nr) boolean create
コマンド ポート ソケットには実行したコマンドからの結果を書き込みません。代わりに、実行したコマンドからの結果をスクリプト エディタ(Script Editor)エディタ ウィンドウに書き込みます。提出したコマンドの実行に関連する情報がコマンド ポート クライアントに戻されないとき、コマンド バッファをオーバーフローさせないように注意する必要があります。オーバーフローさせると接続が閉じられます。
pickleOutput(po) boolean create
Python の出力は pickle 化されます。
prefix(pre) string create
文字列引数は、1 つの文字列引数を取る Maya コマンドの名前です。このコマンドは、時間データがコマンド ポートに送信されるたびにコールされます。コマンド ポートに書き込まれたデータは、prefix コマンドに引数として渡されます。コマンド ポートからのデータは、enocodeString と同様にエンコードされ、引用符で囲まれます。コマンド ポート データに改行文字が埋め込まれている場合は、その入力は個別のラインに分割されます。これらのラインは、コマンド ポートへの別々の書き込みであるかのように取り扱われます。最後の prefix コマンドに対する結果だけが返されます。
returnNumCommands(rnc) boolean create
コマンドの結果を無視し、このコールで読み取って実行されたコマンドの数を返します。これは、バッファのオーバーフローを追跡する簡単な方法です。noreturn フラグを指定すると、このフラグは無視されます。
securityWarning(sw) boolean create
コマンド ポートの入力のセキュリティ警告を有効化します。
sourceType(stp) string create
この文字列引数は、commandPort に渡される「mel」、「python」などのソース タイプを示すのに使用されます。既定のソース タイプは「mel」です。

フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。

Python 例

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 )