移動先: 概要 戻り値 キーワード 関連項目 フラグ Python の例
referenceQuery([dagPath=boolean], [editAttrs=boolean], [editNodes=boolean], [editStrings=boolean], [failedEdits=boolean], [filename=boolean], [isNodeReferenced=boolean], [nodes=boolean], [parent=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
dagPath, editAttrs, editNodes, editStrings, failedEdits, filename, isNodeReferenced, nodes, parent, referenceNode, shortName, showDagPath, showNamespace, successfulEdits, topReference, unresolvedName, withoutCopyNumber
ロング ネーム(ショート ネーム) |
引数型 |
プロパティ |
filename(f)
|
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 フラグと併用する必要があります。
|
|
: コマンドの作成モードで使用可能なフラグ
|
: コマンドの編集モードで使用可能なフラグ
|
: コマンドの照会モードで使用可能なフラグ
|
: タプルまたはリストとして渡された複数の引数を持てるフラグ
|
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