ジャンプ先: 概要. 戻り値. 関連. フラグ. Python 例.
file(
string
, [activate=boolean], [activeProxy=boolean], [add=boolean], [anyModified=boolean], [applyTo=string], [buildLoadSettings=boolean], [channels=boolean], [cleanReference=string], [command=[string, string]], [compress=boolean], [constraints=boolean], [constructionHistory=boolean], [copyNumberList=boolean], [defaultExtensions=boolean], [defaultNamespace=boolean], [deferReference=boolean], [editCommand=string], [errorStatus=boolean], [executeScriptNodes=boolean], [exists=boolean], [expandName=boolean], [exportAll=boolean], [exportAnim=boolean], [exportAnimFromReference=boolean], [exportAsReference=boolean], [exportAsSegment=boolean], [exportSelected=boolean], [exportSelectedAnim=boolean], [exportSelectedAnimFromReference=boolean], [exportSelectedNoReference=boolean], [exportUnloadedReferences=boolean], [expressions=boolean], [flushReference=string], [force=boolean], [groupLocator=boolean], [groupName=string], [groupReference=boolean], [i=boolean], [ignoreVersion=boolean], [importReference=boolean], [lastFileOption=boolean], [lastTempFile=boolean], [list=boolean], [loadAllDeferred=boolean], [loadAllReferences=boolean], [loadNoReferences=boolean], [loadReference=string], [loadReferenceDepth=string], [loadReferencePreview=string], [loadSettings=string], [location=boolean], [lockContainerUnpublished=boolean], [lockFile=boolean], [lockReference=boolean], [mapPlaceHolderNamespace=[string, string]], [mergeNamespaceWithParent=boolean], [mergeNamespaceWithRoot=boolean], [mergeNamespacesOnClash=boolean], [modified=boolean], [moveSelected=boolean], [namespace=string], [newFile=boolean], [open=boolean], [options=string], [parentNamespace=boolean], [postSaveScript=string], [preSaveScript=string], [preserveName=boolean], [preserveReferences=boolean], [preview=boolean], [prompt=boolean], [proxyManager=string], [proxyTag=string], [reference=boolean], [referenceDepthInfo=uint], [referenceNode=string], [relativeNamespace=string], [removeDuplicateNetworks=boolean], [removeReference=boolean], [rename=string], [renameAll=boolean], [renameToSave=boolean], [renamingPrefix=string], [renamingPrefixList=boolean], [replaceName=[string, string]], [resetError=boolean], [returnNewNodes=boolean], [save=boolean], [saveDiskCache=string], [saveReference=boolean], [saveReferencesUnloaded=boolean], [saveTextures=string], [sceneName=boolean], [segment=string], [selectAll=boolean], [shader=boolean], [sharedNodes=string], [sharedReferenceFile=boolean], [shortName=boolean], [strict=boolean], [swapNamespace=[string, string]], [type=string], [uiConfiguration=boolean], [unloadReference=string], [unresolvedName=boolean], [usingNamespaces=boolean], [withoutCopyNumber=boolean], [writable=boolean])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
file は、取り消し可能、照会可能、および編集可能です。
ファイルのオープン、読み込み、書き出し、参照、保存、名前変更を行う
このコマンドでは、1 つのメイン フラグで、実行するアクションを指定する必要があります。一部のメイン フラグには、そのアクションを修正するオプションの 2 次フラグが続くものもあります。
メインフラグを以下に示します。
cr | ea |
ean | ear | eas |
er | esa | es |
esn | ex |
fr | i | ir |
l | lr | lrp |
loc | ltf |
mf | new | o |
op | ot | pmt |
r | rdi |
rn | rr | rts |
s | sa | sdx |
st | stx |
typ | uc | ur |
w |
o/open は、次の 2 次フラグで修飾できます。
f | lad |
lad | lnr | rnn |
es/exportSelected は、次の 2 次フラグで修飾できます。
ch | chn |
con | exp | sh |
r/reference は、次の 2 次フラグで修飾できます。
dns | dr |
gr | gl | gn |
mnc |
ns | rfn | rpr |
sns | srf | shd |
rnn |
i/import は、次の 2 次フラグで修飾できます。
dns | dr |
gr | gn |
mnc |
pr |
ra | rdn | rnn |
rpr | sns |
n/new と s/save は、次の 2 次フラグで修飾できます。
f |
er/exportAsReference は、次の 2 次フラグで修飾できます。
ns | rpr |
ea/exportAll と es/exportSelected は、次の 2 次フラグで修飾できます。
f | pr |
ean/exportAnim と eas/exportSelectedAnim は、次の 2 次フラグで修飾できます。
f |
ear/exportAnimFromReference と esa/exportSelectedAnimFromReference は、次の 2 次フラグで修飾できます。
f | rfn |
ファイルに関する情報を照会する
このコマンドは、実行する照会を指定する主要な照会フラグ 1 つと、その照会を修正するオプションの 2 次フラグを必要とします。
主要な照会フラグを以下に示します。
amf | ch |
chn | con | dr |
err | ex | exn |
exp | l |
loc | ltf | mf |
ns | op | ot |
pmt | pns |
r | rfn | rpl |
rpr | rts | sdc |
sh | sn |
stx | typ | uc |
w |
dr/deferReference は、次の 2 次フラグで修飾できます。
rfn |
exn/expandName、l/list、r/reference、sn/sceneName は、次の 2 次フラグで修飾できます。
un | shn |
wcn |
ファイル名を照会する
ファイル名を照会する際には、結果をフォーマットする方法がいくつかあります。
解決された名前と未解決の名前:
ファイルを(開くまたは参照することで) Maya にロードする際に、ファイル パスが完全ではない場合があります。たとえば、相対パス(「scenes/myScene.ma」など)であったり、環境変数(「$PRODUCTION_DIR/myScene.ma」など)を含んでいたり、単にローカル ディスク上に存在しないパスである場合などがあります。このような場合はそれぞれ、Maya ではいくつかの手順を経てパスを解決し、ディスク上でファイルを探します。既定で「file」コマンドは、解決されたファイル名(Maya が実際にファイルを読み込んでいる場所など)を返しますが、un/unresolved フラグを使用した場合は、未解決のファイル(元々指定されていたファイルなど)を返します。
フル ネームとショート ネーム:
既定で「file」コマンドはファイルへのフル パスを返しますが、shn/shortName フラグを使用した場合は、ファイル名だけが返されます。
コピー番号付きとコピー番号なし:
同じファイルを 2 回以上ロードする(同じファイルを 2 回参照するなど)ときに、Maya はファイル名の最後にコピー番号を付加してコピー ファイルを区別します。初めてファイルを読み込んだときには、コピー番号はアペンドされません。ファイルを 2 回目に読み込んだときに「¥{1¥}」がアペンドされ、3 回目は「¥{2¥}」というふうに続きます。既定で「file」コマンドは、コピー番号を付加したファイル名を返しますが、wcn/withoutCopyNumber フラグを使用した場合は、コピー番号なしでファイル名を返します。
追加の詳細事項:
- 通常は file コマンドでファイル名を引数として指定しますが、ファイル名が指定されていない場合は、ルートのシーンが使用されます。
- 詳細と制限事項については、各フラグの説明を参照してください。
string | 大部分のアクションでは、指定したファイルの名前です。returnNewNodes フラグを使用すると、読み込まれたノードの名前を示す文字配列が返されます。 |
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
getFileList, namespace, namespaceInfo, referenceEdit, referenceQuery, workspace
activate, activeProxy, add, anyModified, applyTo, buildLoadSettings, channels, cleanReference, command, compress, constraints, constructionHistory, copyNumberList, defaultExtensions, defaultNamespace, deferReference, editCommand, errorStatus, executeScriptNodes, exists, expandName, exportAll, exportAnim, exportAnimFromReference, exportAsReference, exportAsSegment, exportSelected, exportSelectedAnim, exportSelectedAnimFromReference, exportSelectedNoReference, exportUnloadedReferences, expressions, flushReference, force, groupLocator, groupName, groupReference, i, ignoreVersion, importReference, lastFileOption, lastTempFile, list, loadAllDeferred, loadAllReferences, loadNoReferences, loadReference, loadReferenceDepth, loadReferencePreview, loadSettings, location, lockContainerUnpublished, lockFile, lockReference, mapPlaceHolderNamespace, mergeNamespaceWithParent, mergeNamespaceWithRoot, mergeNamespacesOnClash, modified, moveSelected, namespace, newFile, open, options, parentNamespace, postSaveScript, preSaveScript, preserveName, preserveReferences, preview, prompt, proxyManager, proxyTag, reference, referenceDepthInfo, referenceNode, relativeNamespace, removeDuplicateNetworks, removeReference, rename, renameAll, renameToSave, renamingPrefix, renamingPrefixList, replaceName, resetError, returnNewNodes, save, saveDiskCache, saveReference, saveReferencesUnloaded, saveTextures, sceneName, segment, selectAll, shader, sharedNodes, sharedReferenceFile, shortName, strict, swapNamespace, type, uiConfiguration, unloadReference, unresolvedName, usingNamespaces, withoutCopyNumber, writable
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
# save the current scene to an ascii file named "fred.ma"
#
cmds.file( rename='fred.ma' )
cmds.file( save=True, type='mayaAscii' )
# save the current scene to an ascii file without the ".ma" extension
#
cmds.file( rename='tmp' )
cmds.file( save=True, defaultExtensions=False, type='mayaAscii' )
# open the file fred.ma, using the default load settings. Any references will
# be brought in in the same state they were in when fred.ma was last saved.
#
cmds.file( 'fred.ma', open=True )
# reference the file wilma.ma
#
cmds.file( 'C:/mystuff/wilma.mb', reference=True )
# reference the file barney.mb into a namespace called "rubble".
#
cmds.file( 'C:/maya/projects/default/scenes/barney.ma', reference=True, type='mayaAscii', namespace='rubble' )
# change the namespace containing barney.mb.
#
cmds.file( 'C:/maya/projects/default/scenes/barney.ma', edit=True, namespace='purpleDinosaur' )
# retrieve a string array of all files such as main scene and reference files in the scene
#
cmds.file( query=True, list=True )
# Result: C:/maya/projects/default/scenes/fred.ma C:/mystuff/wilma.mb C:/maya/projects/default/scenes/barney.ma
# Select "betty" and export betty to a separate file called "betty.mb".
# Reference the new betty file into this scene, replacing the
# previous betty object from this scene with the reference to betty.
#
cmds.file( 'c:/mystuff/betty.mb', type='mayaBinary', namespace='rubble', exportAsReference=True )
# Select all the objects associated with file betty.mb
#
cmds.file( 'c:/mystuff/betty.mb', selectAll=True )
# Result: rubble:betty
# Remove the reference file betty.mb. All nodes in betty.mb will
# be removed from the scene
cmds.file( 'c:/mystuff/betty.mb', removeReference=True )
# Query whether the file named "foo.mb" exists on disk
#
cmds.file( 'foo.mb', query=True, exists=True )
# Result: 0 #
# Query whether the reference node "rubble:betty is deferred loaded.
# Note, -referenceNode flag has to come before -q flag.
cmds.file(referenceNode='rubbleRN', query=True, deferReference=True )
# Query the last temp file during file save
#
cmds.file( query=True, lastTempFile=True)
####################################/
#/ Example for the '-buildLoadSettings' and '-loadSettings' flags #/
####################################/
# Build load settings for "ref.ma"
cmds.file( 'ref.ma', open=True, buildLoadSettings=True )
# Edit those settings, to indicate that some reference should
# be brought in unloaded.
# Note: the following command is primarily intended for internal
# use. It may not be easy to determine the numeric ID of a given
# reference ("2" in this case) .
# cmds.loadSettings( '2', deferReference=1 )
# Use the edited settings when opening the file
cmds.file('ref.ma', open=True, loadSettings='implicitLoadSettings')
#
# Example for the '-cleanReference' and '-editCommand' flags
#
# Create a simple reference to a sphere
#
cmds.file( force=True, new=True )
cmds.polySphere()
cmds.file( rename='ref.ma' )
cmds.file( force=True, type='mayaAscii', save=True )
cmds.file( force=True, new=True )
cmds.file( 'ref.ma', reference=True, namespace='ref' )
# Scale the sphere
#
cmds.setAttr( 'ref:pSphere1.s', 5, 5, 5 )
cmds.getAttr( 'ref:pSphere1.s' )
# Result: 5 5 5 #
# The 'cleanReference' and 'editCommand' flags only work on
# unloaded references.
#
cmds.file( unloadReference='refRN' )
# Query the setAttr edits:
#
cmds.reference( referenceNode='refRN', query=True, editCommand=True )
# Result: setAttr ref:pSphere1.s -type "double3" 5 5 5 setAttr ref:lightLinker1.lnk -s 2 #
# Remove all setAttr edits on refRN:
#
cmds.file( cleanReference='refRN', editCommand='setAttr' )
cmds.reference( referenceNode='refRN', query=True, editCommand=True )
# Note that nothing is returned
cmds.file( loadReference='refRN' )
cmds.getAttr( 'ref:pSphere1.s' )
# Result: 1 1 1 #
# Note that scale has returned to 1 1 1
# apply the edit file to a reference
cmds.file("translateSphere.editMA", reference=True, applyTo="refRN")
# Result: maps <main> to refRN's namespace
# apply the edit file to nodes in the main scene
cmds.file("translateSphere.editMA", import=True, applyTo=":")
# Result: maps <main> to the root namespace
# apply the edit file to a reference, but it also has connections between two refs
cmds.file("connectionsBetweenRefs.editMA", reference=True, applyTo="refRN", mapPlaceHolderNamespace=("<otherRef>", "otherRefRN"))
# Result: maps <main> to refRN's namespace and <otherRef> to otherRefRN's namespace
# Change the modified state of the file.
cmds.file(modified=True)
# Set the file options
cmds.file( force=True, save=True, options='v=1;p=17',type='mayaAscii');
# Result:The saved file uses full names for attributes on nodes and flags in command.Also the precision of values in file is 17.
# Load Reference Preview
# Create a nested reference with a child reference under a parent reference.
cmds.file( force=True, new=True )
cmds.polySphere()
cmds.file( rename='child.ma' )
cmds.file( force=True, type='mayaAscii', save=True )
cmds.file( force=True, new=True )
cmds.file( 'child.ma', reference=True, namespace='child_namespace' )
cmds.file( rename='parent.ma' )
cmds.file( force=True, type='mayaAscii', save=True )
# Preview the unloaded child reference under the unloaded parent reference.
cmds.file( force=True, new=True )
cmds.file( 'parent.ma', reference=True, namespace='parent_namespace' )
cmds.file( 'parent.ma', unloadReference=True )
cmds.file( 'parent.ma', loadReferencePreview=True )
#
# Example for 'mergeNamespacesOnClash'
#
# Create a reference
cmds.file( force=True, new=True )
cmds.namespace( add="bar" )
cmds.namespace( set="bar" )
cmds.polySphere();
cmds.file( rename="ref.ma" )
cmds.file( force=True, type='mayaAscii', save=True )
# Create a scene with some namespaces and objects
cmds.file( force=True, new=True )
cmds.namespace( add="ref:foo:bar" )
cmds.namespace( set="ref:foo:bar" )
cmds.polySphere();
# Merge into root
cmds.file('ref.ma', reference=True, mergeNamespacesOnClash=True, namespace=':');
# Merge into nested namespace
cmds.file('ref.ma', import=True, mergeNamespacesOnClash=True, namespace=':ref:foo');
# Don't merge namespace
cmds.file('ref.ma', reference=True, mergeNamespacesOnClash=False, namespace=':ref:foo');
# Now Edit the new namespace and merge it
cmds.file('ref.ma', edit=True, mergeNamespacesOnClash=True, namespace=':ref:foo');
###############################################/
#/ Example for export with relativeNamespace #/
###############################################/
cmds.file(new=True,force=True)
cmds.sphere(name=":A:sphereA")
cmds.sphere(name=":A:B:sphereB")
cmds.sphere(name=":A:B:C:sphereC")
cmds.sphere(name=":D:sphereD")
# Select all the spheres.
#
cmds.select(":A:sphereA", replace=True)
cmds.select(":A:B:sphereB",add=True)
cmds.select(":A:B:C:sphereC",add=True)
cmds.select(":D:sphereD",add=True)
# Export all these spheres with -relativeNamespace flag.
#
cmds.file(rename="exp.ma")
cmds.file(force=True, exportSelected=True, type="mayaAscii", relativeNamespace=":A:B")
# The result in the exported file:
# :A:sphereA
# :C:sphereC
# :D:sphereD
# -sphereB
#