ジャンプ先: 概要. 戻り値.
キーワード. 関連項目.
フラグ. Python 例.
referenceQuery([child=boolean], [dagPath=boolean], [editAttrs=boolean], [editCommand=string], [editNodes=boolean], [editStrings=boolean], [failedEdits=boolean], [filename=boolean], [isExportEdits=boolean], [isLoaded=boolean], [isNodeReferenced=boolean],
[liveEdits=boolean], [nodes=boolean], [onReferenceNode=string],
[parent=boolean], [parentNamespace=boolean],
[referenceNode=boolean],
[shortName=boolean], [showDagPath=boolean], [showNamespace=boolean], [successfulEdits=boolean],
[topReference=boolean],
[unresolvedName=boolean],
[withoutCopyNumber=boolean])
注意:
オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。
referenceQuery は
「元に戻す」が不可能、「照会」が不可能、「編集」が不可能 です。
このコマンドを使用して、リファレンスと参照されたノードに関する情報を検索します。 有効なターゲットは、リファレンス
ノード、リファレンス ファイル、参照されたノードのいずれかです。
一部のフラグはターゲットを必要としません。フラグの効果の詳細については、フラグの説明を参照してください。 シーンが複数レベルのファイル
リファレンスを含む場合、ネストしたリファレンスに影響する編集は、複数のリファレンス ノードに格納される場合があります。 例:A.ma
は B.ma を参照し、B.ma はポリゴン球体(pSphere1)を含む C.ma を参照すると仮定します。 B.ma
を開いて球体を移動した場合、編集は「C:pSphere1」という名のノードを参照する CRN に格納されます。 A.ma
を開いて球体をペアレント化した場合、編集は「B:C:pSphere1」という名のノードを参照する BRN に格納されます。
ネストしたリファレンスに影響する編集を照会する場合、編集は適用時と同じフォーマットで返されるので、注意してください。上記例では、A.ma
を開いて C.ma
に影響するすべての編集を照会すると、「B:C:pSphere1」に作用する親編集と「C:pSphere1」に影響する setAttr
編集の 2 つの編集を返します。しかし C:pSphere1 という名前のノードはもう存在しないため(存在するのは
B:C:pSphere1)、返された情報の解釈には注意が必要です。 参照された DAG
ノードをペアレント化またはインスタンス化した場合にも、同様の注意が必要です。上記例で、A.ma を開き、pSphere1
をペアレント化する代わりにインスタンス化したと仮定します。 A.ma
を開いた状態で、紛らわしい「B:C:pSphere1」という名前が、「|B:C:pSphere1」と「group1|B:C:pSphere1」に置換されます。しかし
C.ma に影響する編集を照会しても、「C:pSphere1」に影響する setAttr 編集は B:C:pSphere1
のインスタンス化の前に適用されているため、この編集を返します。 ヒント: 1. -topReference
フラグを使用して、現在開いているファイルから適用された編集のみを照会します。 2. -onReferenceNode
フラグを使用して、結果を特定のリファレンス
ノードに格納された編集のみに制限します。文字列の各種操作方法を使用して、影響を受けたノードの現在の名前を補外することができます。
reference, attribute, node
file, referenceEdit
child, dagPath,
editAttrs, editCommand, editNodes, editStrings, failedEdits, filename, isExportEdits, isLoaded, isNodeReferenced, liveEdits, nodes,
onReferenceNode, parent, parentNamespace, referenceNode, shortName, showDagPath, showNamespace, successfulEdits, topReference, unresolvedName, withoutCopyNumber
ロング ネーム(ショート ネーム) |
引数型 |
プロパティ |
filename(f) |
boolean |
|
|
文字列を返します。 ターゲット リファレンスにコネクトされたファイル名を照会するための主要フラグです。 |
|
parentNamespace(pns) |
boolean |
|
|
主要フラグは、ターゲット リファレンスの親のネームスペースを照会して返します。 |
|
shortName(shn) |
boolean |
|
|
-f/-filename フラグを修正し、ファイル名をショート ネーム(ディレクトリ
パスを含まないファイル名)で返すことを示します。このフラグが存在しない場合、フル ネームとディレクトリ パスを返します。 |
|
unresolvedName(un) |
boolean |
|
|
-f/-filename
フラグを修正し、返されるファイル名は解決されません(ファイルをロードしたときに指定したパスになります。このパスは環境変数を含み、ディスクに存在しない場合があります)。このフラグが存在しない場合、解決済みの名前を返します。 |
|
withoutCopyNumber(wcn) |
boolean |
|
|
-f/-filename フラグを修正し、返されるファイル名の最後にコピー番号(たとえば
{1})をアペンドしません。このフラグが存在しない場合、返されたファイル名の最後にコピー番号がアペンドされることがあります。 |
|
dagPath(dp) |
boolean |
|
|
-n/-nodes フラグを修正し、返される DAD オブジェクト名には、名前を固有するために必要な DAG
パスが含まれます。このフラグが存在しない場合、DAG パスが含まれない名前が返されます。 |
|
isNodeReferenced(inr) |
boolean |
|
|
ブーリアンを返します。 ターゲット ノードがリファレンス ファイル由来かどうかを調べるための主要フラグです。 ターゲット
ノードがリファレンス ファイル由来の場合は true、そうでない場合は false を返します。 |
|
referenceNode(rfn) |
boolean |
|
|
文字列を返します。 ターゲット リファレンスにコネクトされたリファレンス ノードを照会するための主要フラグです。 |
|
nodes(n) |
boolean |
|
|
文字配列を返します。 ターゲット リファレンスのコンテンツを照会するための主要フラグです。 |
|
parent(p) |
boolean |
|
|
-rfn/-referenceNode と -f/-filename フラグを修正し、ターゲット
リファレンスの親を返すことを示します。 |
|
topReference(tr) |
boolean |
|
|
-rfn/-referenceNode フラグを修正し、ターゲット
リファレンスの、最上位の先祖リファレンスを返すことを示します。 |
|
editStrings(es) |
boolean |
|
|
文字配列を返します。 ターゲットに適用された編集を照会するための主要フラグです。編集は有効な MEL
コマンドとして返されます。有効なターゲットは、リファレンス ノード、リファレンス ファイル、参照されたノードのいずれかです。
参照されたノードノードを指定すると、このノードに影響する編集のみを返します。リファレンス ファイルまたはリファレンス
ノードを指定すると、そのリファレンスのノードに影響するすべての編集を返します。ターゲットを指定しない場合、すべての編集を返します。このコマンドはロードしたリファレンスとアンロードしたリファレンスの両方に使用できます。デフォルトでは、ターゲットに適用する
MEL コマンドとしてフォーマットされたすべての編集を返します。 このフラグは、-en/-editNodes や
-ea/-editAttrs フラグとは一緒に使用できません。 |
|
editNodes(en) |
boolean |
|
|
文字配列を返します。
ターゲットに適用された編集を照会するための主要フラグです。リファレンスの編集に関与するノードの名前のみを返します。connectAttr
編集など、複数のノードに影響する編集の場合、ノードは、文字配列に含まれる、個別の連続したエントリとして返されます。有効なターゲットは、リファレンス
ノード、リファレンス ファイル、参照されたノードのいずれかです。
参照されたノードノードを指定すると、このノードに影響する編集のみを返します。リファレンス ファイルまたはリファレンス
ノードを指定すると、そのリファレンスのノードに影響するすべての編集を返します。ターゲットを指定しない場合、すべての編集を返します。このコマンドはロードしたリファレンスとアンロードしたリファレンスの両方に使用できます。デフォルトでは、ターゲットに適用する
MEL コマンドとしてフォーマットされたすべての編集を返します。
-ea/-editAttrsフラグと一緒に使用し、関与するノードとアトリビュートの両方の名前を node.attribute
形式で返すことを示します。 |
|
editAttrs(ea) |
boolean |
|
|
文字配列を返します。
ターゲットに適用された編集を照会するための主要フラグです。リファレンスの編集に関与するアトリビュートの名前のみを返します。connectAttr
編集など、複数のアトリビュートに影響する編集の場合、ノードは、文字配列に含まれる、個別の連続したエントリとして返されます。有効なターゲットは、リファレンス
ノード、リファレンス ファイル、参照されたノードのいずれかです。
参照されたノードノードを指定すると、このノードに影響する編集のみを返します。リファレンス ファイルまたはリファレンス
ノードを指定すると、そのリファレンスのノードに影響するすべての編集を返します。ターゲットを指定しない場合、すべての編集を返します。このコマンドはロードしたリファレンスとアンロードしたリファレンスの両方に使用できます。デフォルトでは、ターゲットに適用する
MEL コマンドとしてフォーマットされたすべての編集を返します。
-ea/-editAttrsフラグと一緒に使用し、関与するノードとアトリビュートの両方の名前を node.attribute
形式で返すことを示します。 |
|
failedEdits(fld) |
boolean |
|
|
失敗した編集(照会、削除など)を実行するべきかどうかを示す二次フラグです。失敗した編集とは、リファレンスを前回ロードしたときに、正常に適用されなかった編集を指します。
編集はさまざまな理由で失敗することがあります(適用するリファレンス ノードがリファレンス ファイルから削除された、など)。
デフォルトでは、失敗した編集を実行しません。 |
|
successfulEdits(scs) |
boolean |
|
|
成功した編集(照会、削除など)を実行すべきかどうかを示す二次フラグです。成功した編集とは、リファレンスを前回ロードしたときに、正常に適用された編集を指します。
デフォルトでは、成功した編集を実行します。 |
|
showDagPath(sdp) |
boolean |
|
|
編集時に、完全な DAG パスを表示/非表示にします。false
の場合、リファレンスの編集のノード名のみが表示されます。-editNodes、-editStrings、または -editAttrs
フラグと一緒に使用する必要があります。 |
|
showNamespace(sns) |
boolean |
|
|
リファレンスの編集内のノード上のネームスペースを表示/非表示にします。 -editNodes、-editStrings、または
-editAttrs フラグと一緒に使用する必要があります。 |
|
liveEdits(le) |
boolean |
|
|
編集は、ライブ編集データベースを基に返される必要があります。editStrings
フラグとともに使用する場合のみ有効です。 |
|
child(ch) |
boolean |
|
|
-rfn/-referenceNode と -f/-filename フラグを修正し、ターゲット
リファレンスの子を返すことを示します。 文字配列を返します。 |
|
isLoaded(il) |
boolean |
|
|
指定のリファレンスノードまたはファイル名が参照するリファレンスが
ロードされているかどうかを示すブーリアンを返します。 |
|
isExportEdits(iee) |
boolean |
|
|
指定のリファレンスノードまたはファイル名が編集済みファイル(編集済みの
エクスポート機能で作成した)かどうかを示すブーリアンを返します。 |
|
editCommand(ec) |
string |
|
|
コマンドが考慮するべくリファレンスの編集のタイプを示すための二次フラグです。このフラグが指定されない場合、すべてのタイプの編集が含まれます。
このフラグには文字列パラメータが必要です。有効な値は、「addAttr」、「connectAttr」、「deleteAttr」、「disconnectAttr」、「parent」、「setAttr」です。
状況によっては、このフラグを複数回指定して、複数の編集タイプを考慮するように指定できます。 |
|
onReferenceNode(orn) |
string |
|
|
指定したリファレンス ノードに格納された編集のみを考慮することを示すための二次フラグです。
このフラグは、「exportEdits」コマンドによる指定時のみ複数使用が可能です。 |
|
: コマンドの作成モードで使用可能なフラグ |
: コマンドの編集モードで使用可能なフラグ |
: コマンドの照会モードで使用可能なフラグ |
: タプルまたはリストとして渡された複数の引数を持てるフラグ |
import maya.cmds as cmds
# Build a sample scene:
# main scene contains a reference to mid.ma.
# mid.ma contains a reference to bot.ma.
# Create bot.ma with a poly sphere.
#
cmds.polySphere()
cmds.file( rename='bot.ma' )
cmds.file( f=True, s=True, type='mayaAscii')
# Create mid.ma with a poly cone.
# Reference bot.ma into mid.ma and group
# the sphere in bot.ma
#
cmds.file( f=True, new=True )
cmds.file( 'bot.ma', r=True,ns='bot' )
cmds.polyCone()
cmds.group( 'bot:pSphere1' )
cmds.file( rename='mid.ma' )
cmds.file( f=True, s=True, type='mayaAscii')
# Create a poly plane.
# Reference mid.ma into the main scene,
# move the cone in mid.ma, and connect
# the plane to the sphere in bot.ma.
#
cmds.file( f=True, new=True )
cmds.file( 'mid.ma', r=True, ns='mid' )
cmds.select( 'mid:pCone1', r=True )
cmds.move( 5, 5, 5, r=True )
cmds.polyPlane()
cmds.connectAttr( 'pPlane1.ty', 'mid:bot:polySphere1.radius' )
# Now perform some queries:
#
cmds.referenceQuery( 'midRN',filename=True )
# Result: C:/Documents and Settings/user/My Documents/maya/projects/default/scenes/mid.ma
cmds.referenceQuery( 'mid:pCone1', filename=True, shortName=True )
# Result: mid.ma
cmds.referenceQuery( 'mid:botRN', filename=True, parent=True )
# Result: C:/Documents and Settings/user/My Documents/maya/projects/default/scenes/mid.ma
cmds.referenceQuery( 'mid.ma', referenceNode=True )
# Result: midRN
cmds.referenceQuery( 'C:/Documents and Settings/user/My Documents/maya/projects/default/scenes/bot.ma', referenceNode=True)
# Result: mid:botRN
cmds.referenceQuery( 'bot.ma', referenceNode=True, parent=True )
# Result: midRN
cmds.referenceQuery( 'bot.ma', referenceNode=True, topReference=True )
# Result: midRN
cmds.referenceQuery( 'mid:botRN',nodes=True )
# Result:[u'mid:bot:pPlane1', u'mid:bot:pPlaneShape1', u'mid:bot:outputCloth1', u'mid:bot:nCloth1', u'mid:bot:nClothShape1', u'mid:bot:dynamicConstraint1', u'mid:bot:dynamicConstraintShape1', u'mid:bot:nurbsSphere1', u'mid:bot:nurbsSphereShape1', u'mid:bot:pSphere1', u'mid:bot:pSphereShape1', u'mid:bot:lightLinker1', u'mid:bot:layerManager', u'mid:bot:defaultLayer', u'mid:bot:renderLayerManager', u'mid:bot:defaultRenderLayer', u'mid:bot:polyPlane1', u'mid:bot:nucleus1', u'mid:bot:nComponent1', u'mid:bot:uiConfigurationScriptNode', u'mid:bot:sceneConfigurationScriptNode', u'mid:bot:nClothShape1Cache1Start', u'mid:bot:cacheBlend1', u'mid:bot:nClothShape1Cache2', u'mid:bot:nClothShape1Cache1End', u'mid:bot:makeNurbSphere1', u'mid:bot:polySphere1'] #
cmds.referenceQuery( 'pPlane1', isNodeReferenced=True )
# Result: 0
cmds.referenceQuery( 'mid:pCone1', isNodeReferenced=True )
# Result: 1
cmds.referenceQuery( 'mid:botRN', parentNamespace=True )
# Result: mid
cmds.referenceQuery( 'mid:bot:pSphere1', parentNamespace=True )
# Result: mid
cmds.referenceQuery( 'C:/Documents and Settings/user/My Documents/maya/projects/default/scenes/bot.ma', parentNamespace=True )
# Result: mid