移動先: 概要 戻り値 キーワード. 関連項目. フラグ. MEL 例.
referenceEdit [-applyFailedEdits] [-changeEditTarget string string] [-failedEdits boolean] [-removeEdits] [-successfulEdits boolean]
referenceEdit は 「元に戻す」が不可能、「照会」が不可能、「編集」が不可能 です。
このコマンドを使用して、リファレンスに適用された修正を削除や編集できます。有効な commandTarget は、リファレンス ノード、リファレンス ファイル、リファレンス内のノード、リファレンスのプラグです。
変更や削除できるのは、現在開いているシーンでの修正のみです。'referenceQuery -topReference' コマンドを使用して、特定の commandTarget への修正を調べることができます。
適用されていない編集のみが影響を受けます。対象のノードがアンロードされた場合、または正常に適用できなかった場合に、編集は適用されません。デフォルトでは、このコマンドは失敗した編集のみに動作します(「-failedEdits」と「-successfulEdits」フラグを使用して調整できます)。
リファレンス ノードをコマンド ターゲットとして指定することは、ターゲット リファレンス ファイルにあるすべてのノードをターゲットとして指定することと同じです。このケースでは、ターゲット リファレンスをロードまたはアンロードしたかによって、結果が異なる場合があります。アンロードした場合、ターゲット リファレンスのノードと子孫リファレンスにあるノードの両方に影響する(削除などの)編集が実行されない場合があります。ただし、ターゲット リファレンスにあるノード、または先祖リファレンスのにあるノードのどちらかのみに影響する編集は正常に削除されます。これは、リファレンスをアンロードすると、そのリファレンスに属するノードなどの詳細情報が維持されないためです。
注:
プラグを指定する場合は、必ずアトリビュートの適切なロング ネームを使用します。
なし
reference, attribute, node
file, referenceQuery
applyFailedEdits, changeEditTarget, failedEdits, removeEdits, successfulEdits
ロング ネーム(ショート ネーム) |
引数型 |
プロパティ |
-removeEdits(-r)
|
|
|
|
アンロードした指定 commandTarget に影響する編集を削除します。
|
|
-changeEditTarget(-cet)
|
string string
|
|
|
このフラグを使用して、指定した編集のターゲットを変更します。
このフラグは 2 つのパラメータを使用します。変更前のターゲットと、変更後のターゲットです。ターゲットはノード名(node)、ノードとアトリビュート名(node.attr)、アトリビュート名(.attr)のいずれかです。
編集が古いターゲットに影響する状態の場合、新ターゲットに影響するように変更されます。
'referenceQuery' を使用して編集ターゲットのフォーマットを調べる必要があります。
たとえば多くの場合、編集はアトリビュートのロング ネーム(「translateX」など)を格納するので、古いターゲットを指定するときはロング ネームを使用する必要があります。ショート ネーム(「tx」)を指定すると、編集のリターゲットは成功しません。
|
|
-applyFailedEdits(-afe)
|
|
|
|
適用されていないすべての編集の適用を試みます。このフラグは、以前に失敗した編集を -changeEditTarget フラグで修正した場合に便利です。このフラグは、ロードされたリファレンスのみに使用できます。コマンドのターゲットがリファレンス ノードの場合、代わりにコネクトされたリファレンスを使用します。
|
|
-failedEdits(-fld)
|
boolean
|
|
|
失敗した編集(照会、削除など)を実行するべきかどうかを示す二次フラグです。失敗した編集とは、リファレンスを前回ロードしたときに、正常に適用されなかった編集を指します。
編集はさまざまな理由で失敗することがあります(適用するリファレンス ノードがリファレンス ファイルから削除された、など)。
デフォルトでは、失敗した編集を実行します。
|
|
-successfulEdits(-scs)
|
boolean
|
|
|
成功した編集(照会、削除など)を実行すべきかどうかを示す二次フラグです。成功した編集とは、リファレンスを前回ロードしたときに、正常に適用された編集を指します。
このフラグは、commandTarget をロードした場合は、影響を及ぼしません。
デフォルトでは、成功した編集を実行しません。
|
|
: コマンドの作成モードで使用可能なフラグ
|
: コマンドの編集モードで使用可能なフラグ
|
: コマンドの照会モードで使用可能なフラグ
|
: 1 つのコマンドで複数回使用可能なフラグ
|
//
// EXAMPLE FOR -removeEdits
//
// Assume:
// main.ma contains a reference to mid.ma.
// mid.ma contains a reference to bot.ma.
// NOTE: The target reference must be unloaded for the
// following commands to work.
// Remove all the edits which apply to mid.ma.
// This can be done by specifying either the reference
// node or the reference file.
referenceEdit -removeEdits midRN;
referenceEdit -removeEdits "mid.ma";
// Remove all "setAttr" edits which apply to mid.ma.
// This can be done by specifying either the reference
// node or the reference file.
referenceEdit -editCommand "setAttr" -removeEdits midRN;
referenceEdit -editCommand "setAttr" -removeEdits "mid.ma";
// Remove all the "parent" edits which apply to mid:pSphere1.
referenceEdit -editCommand "parent" -removeEdits mid:pSphere1;
// Remove all the "connectAttr" edits which apply to mid:pSphere1.translateX.
referenceEdit -editCommand "connectAttr" -removeEdits mid:pSphere1.translateX;
// Remove all the edits which apply to bot.ma and are stored on midRN.
// The referenceEdit command is only capable of removing edits which
// are stored on a top level reference node. The only edits which
// are stored on a top level reference node are those which were made
// from the main scene. If you had previously opened mid.ma and made
// modifications to bot.ma, those edits can only be removed by opening
// mid.ma and issuing a referenceEdit command.
//
referenceEdit -removeEdits mid:botRN;
referenceEdit -removeEdits "bot.ma";
//
// EXAMPLE FOR -changeEditTarget
//
string $tempDir = `internalVar -utd`;
// Create a reference containing pSphere1.
//
file -f -new;
polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -ch 1;
file -rename ($tempDir + "ref.ma");
file -f -type "mayaAscii" -save;
// Reference the file in and position pSphere1
//
file -f -new;
file -r -ns "ref" ($tempDir + "ref.ma");
select -r ref:pSphere1;
move 5 5 5;
file -rename ($tempDir + "top.ma");
file -f -type "mayaAscii" -save;
// Later on its determined that pSphere1 is actually
// BobMrozowski.
//
file -f -o ($tempDir + "ref.ma");
rename pSphere1 BobMrozowski;
file -f -type "mayaAscii" -save;
// Now go to open your main scene again...
//
file -f -o ($tempDir + "top.ma");
// ... and notice that BobMrozowski is back at
// the origin.
//
// So remap all edits so that anything that used to
// affect ref:pSphere1 now affects ref:BobMrozowski...
//
referenceEdit -changeEditTarget "ref:pSphere1" "ref:BobMrozowski" "refRN";
// ... and then force all previously failing edits affecting
// refRN to be re-applied.
//
referenceEdit -applyFailedEdits "refRN";
// BobMrozowski should now be back at 5 5 5.
//