Go to: Synopsis. Return value. Keywords. Flags. Python examples.

Synopsis

cacheFile([appendFrame=boolean], [attachFile=boolean], [cacheFileNode=string], [cacheFormat=string], [cacheInfo=string], [cacheableAttrs=string], [cacheableNode=string], [channelIndex=boolean], [channelName=string], [convertPc2=boolean], [createCacheNode=boolean], [creationChannelName=string], [dataSize=boolean], [deleteCachedFrame=boolean], [descriptionFileName=boolean], [directory=string], [doubleToFloat=boolean], [endTime=time], [fileName=string], [format=string], [geometry=boolean], [inAttr=string], [inTangent=string], [interpEndTime=time], [interpStartTime=time], [noBackup=boolean], [outAttr=string], [outTangent=string], [pc2File=string], [pointCount=boolean], [points=string], [pointsAndNormals=string], [prefix=boolean], [refresh=boolean], [replaceCachedFrame=boolean], [replaceWithoutSimulating=boolean], [runupFrames=int], [sampleMultiplier=int], [simulationRate=time], [singleCache=boolean], [startTime=time], [staticCache=boolean], [worldSpace=boolean])

Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.

cacheFile is undoable, queryable, and editable.

Creates one or more cache files on disk to store attribute data for a span of frames. The caches can be created for points/normals on a geometry (using the pts/points or pan/pointsAndNormals flag), for vectorArray output data (using the oa/outAttr flag), or for additional node specific data (using the cnd/cacheableNode flag for those nodes that support it).

When the ia/inAttr flag is used, connects a cacheFile node that associates the data file on disk with the attribute.

Frames can be replaced/appended to an existing cache with the rcf/replaceCachedFrame and apf/appendFrame flag. Replaced frames are never deleted. They are stored in the same directory as the original cache files with the name provided by the f/fileName flag. If no file name is provided, the cacheFile name is prefixed with "backup" followed by a unique number.

Single file caches are backed up in their entirety. To revert to an older version, simply attach to this cache. One file per frame caches only backup the description file and the frames that were replaced. To recover these types of caches, the user must rename these files to the original name.

Return value

stringname of created cache description file(s)

In query mode, return type is based on queried flag.

Keywords

cache, file, disk

Flags

appendFrame, attachFile, cacheFileNode, cacheFormat, cacheInfo, cacheableAttrs, cacheableNode, channelIndex, channelName, convertPc2, createCacheNode, creationChannelName, dataSize, deleteCachedFrame, descriptionFileName, directory, doubleToFloat, endTime, fileName, format, geometry, inAttr, inTangent, interpEndTime, interpStartTime, noBackup, outAttr, outTangent, pc2File, pointCount, points, pointsAndNormals, prefix, refresh, replaceCachedFrame, replaceWithoutSimulating, runupFrames, sampleMultiplier, simulationRate, singleCache, startTime, staticCache, worldSpace
Long name (short name) Argument types Properties
appendFrame(apf) boolean create
Appends data to the cache for the times specified by the startTime and endTime flags. If no time is provided, appends the current time. Must be used in conjunction with the pts/points or cnd/cacheableNode flag. Any overwritten frames will not be deleted, but renamed as specified by the f/fileName flag.
attachFile(af) boolean create
Used to indicate that rather than creating a cache file, that an existing cache file on disk should be attached to an attribute in the scene. The inAttr flag is used to specify the attribute.
cacheFileNode(cfn) string createmultiuse
Specifies the name of the cache file node(s) we are appending/replacing to if more than one cache is attached to the specified geometries.

In query mode, this flag needs a value.

cacheFormat(cf) string createquery
Cache file format, default is Maya's .mcx format, but others available via plugin
cacheInfo(ci) string createquerymultiuse
In create mode, used to specify a mel script returning a string array. When creating the cache, this mel script will be executed and the returned strings will be written to the .xml description file of the cache. In query mode, returns descriptive info stored in the cacheFile such as the user name, Maya scene name and maya version number.
cacheableAttrs(cat) string query
Returns the list of cacheable attributes defined on the accompanying cache node. This argument requires the use of the cacheableNode flag.
cacheableNode(cnd) string createmultiuse
Specifies the name of a cacheable node whose contents will be cached. A cacheable node is a node that is specially designed to work with the caching mechanism. An example of a cacheable node is a nCloth node.

In query mode, this flag needs a value.

channelIndex(chi) boolean createquery
A query-only flag which returns the channel index for the selected geometry for the cacheFile node specified using the cacheFileNode flag.
channelName(cnm) string createquerymultiuse
When attachFile is used, used to indicate the channel in the file that should be attached to inAttr. If not specified, the first channel in the file is used. In query mode, allows user to query the channels associated with a description file.
convertPc2(pc2) boolean create
Convert a PC2 file to the Maya cache format (true), or convert Maya cache to pc2 format (false)
createCacheNode(ccn) boolean create
Used to indicate that rather than creating a cache file, that a cacheFile node should be created related to an existing cache file on disk.
creationChannelName(cch) string createmultiuse
When creating a new cache, this multi-use flag specifies the channels to be cached. The names come from the cacheable channel names defined by the object being cached. If this flag is not used when creating a cache, then all cacheable channels are cached.
dataSize(dsz) boolean query
This is a query-only flag that returns the size of the data being cached per frame. This flag is to be used in conjunction with the cacheableNode, points, pointsAndNormals and outAttr flags.
deleteCachedFrame(dcf) boolean create
Deletes cached data for the times specified by the startTime/endTime flags. If no time is provided, deletes the current frame. Must be used in conjunction with the pts/points or cnd/cacheableNode flag. Deleted frames will not be removed from disk, but renamed as specified by the f/fileName flag.
descriptionFileName(dfn) boolean query
This is a query-only flag that returns the name of the description file for an existing cacheFile node. Or if no cacheFile node is specified, it returns the description file name that would be created based on the other flags specified.
directory(dir) string createquery
Specifies the directory where the cache files will be located. If the directory flag is not specified, the cache files will be placed in the project data directory.
doubleToFloat(dtf) boolean create
During cache creation, double data is stored in the file as floats. This helps cut down file size.
endTime(et) time create
Specifies the end frame of the cache range.
fileName(f) string createquery
Specifies the base file name for the cache files. If more than one object is being cached and the format is OneFilePerFrame, each cache file will be prefixed with this base file name. In query mode, returns the files associated with the specified cacheFile node. When used with rpf/replaceCachedFrame or apf/appendFrame specifies the name of the backup files. If not specified, replaced frames will be stored with a default name.

In query mode, this flag can accept a value.

format(fm) string create
Specifies the distribution format of the cache. Valid values are "OneFile" and "OneFilePerFrame"
geometry(gm) boolean query
A query flag which returns the geometry controlled by the specified cache node
inAttr(ia) string createmultiuse
Specifies the name of the attribute that the cache file will drive. This file is optional when creating cache files. If this flag is not used during create mode, the cache files will be created on disk, but will not be driving anything in the scene. This flag is required when the attachFile flag is used.
inTangent(it) string create
Specifies the in-tangent type when interpolating frames before the replaced frame(s). Must be used with the ist/interpStartTime and iet/interpEndTime flags. Valid values are "linear", "smooth" and "step".
interpEndTime(iet) time create
Specifies the frame until which there will be linear interpolation, beginning at endTime. Must be used with the rpf/replaceCachedFrame or apf/appendFrame flag. Interpolation is achieved by removing frames between endTime and interpEndTime from the cache. Removed frames will be renamed as specified by the f/fileName flag.
interpStartTime(ist) time create
Specifies the frame from which to begin linear interpolation, ending at startTime. Must be used with the rpf/replaceCachedFrame or apf/appendFrame flags. Interpolation is achieved by removing frames between interpStartTime and startTime from the cache. These removed frames will will be renamed as specified by the f/fileName flag.
noBackup(nb) boolean create
Specifies that backup files should not be created for any files that may be over-written during append, replace or delete cache frames. Can only be used with the apf/appendFrame, rpf/replaceCachedFrame or dcf/deleteCachedFrame flags.
outAttr(oa) string createmultiuse
Specifies the name of the attribute that will be cached to disk.

In query mode, this flag needs a value.

outTangent(ot) string create
Specifies the out-tangent type when interpolating frames after the replaced frame(s). Must be used with the ist/interpStartTime and iet/interpEndTime flags. Valid values are "linear", "smooth" and "step".
pc2File(pcf) string create
Specifies the full path to the pc2 file. Must be used in conjunction with the pc2 flag.
pointCount(pc) boolean query
A query flag which returns the number of points stored in the cache file. The channelName flag should be used to specify the channel to be queried.
points(pts) string createmultiuse
Specifies the name of a geometry whose points will be cached.

In query mode, this flag needs a value.

pointsAndNormals(pan) string createmultiuse
Specifies the name of a geometry whose points and normals will be cached. The normals is per-vertex per-polygon. The normals cache cannot be imported back to geometry. This flag can only be used to export cache file. It cannot be used with the apf/appendFrame, dcf/deleteCachedFrame and rpf/replaceCachedFrame flags.

In query mode, this flag needs a value.

prefix(p) boolean create
Indicates that the specified fileName should be used as a prefix for the cacheName.
refresh(r) boolean create
When used during cache creation, forces a screen refresh during caching. This causes the cache creation to be slower but allows you to see how the simulation is progressing during the cache.
replaceCachedFrame(rcf) boolean create
Replaces cached data for the times specified by the startTime/endTime flags. If no time is provided, replaces cache file for the current time. Must be used in conjunction with the pts/points or cnd/cacheableNode flag. Replaced frames will not be deleted, but renamed as specified by the f/fileName flag.
replaceWithoutSimulating(rws) boolean edit
When replacing cached frames, this flag specifies whether the replacement should come from the cached node without simulating or from advancing time and letting the simulation run. This flag is valid only when neither the startTime nor endTime flags are used or when both the startTime and endTime flags specify the same time value.
runupFrames(rf) int createqueryedit
Specifies the number of frames of runup to simulate ahead of the starting frame. The value must be greater than or equal to 0. The default is 2.
sampleMultiplier(spm) int createqueryedit
Specifies the sample rate when caches are being created as a multiple of simulation Rate. If the value is 1, then a sample will be cached everytime the time is advanced. If the value is 2, then every other sample will be cached, and so on. The default is 1.
simulationRate(smr) time createqueryedit
Specifies the simulation rate when caches are being created. During cache creation, the time will be advanced by the simulation rate, until the end time of the cache is reached or surpassed. The value is given in frames. The default value is 1 frame.
singleCache(sch) boolean create
When used in conjunction with the points, pointsAndNormal or cacheableNode flag, specifies whether multiple geometries should be put into a single cache or to create one cache per geometry (default).
startTime(st) time create
Specifies the start frame of the cache range.
staticCache(sc) boolean createquery
If false, during cache creation, do not save a cache for the object if it appears to have no animation or deformation. If true, save a cache even if the object appears to have no animation or deformation. Default is true. In query mode, when supplied a shape, the flag returns true if the shape appears to have no animation or deformation.
worldSpace(ws) boolean create
If the points flag is used, turning on this flag will result in the world space positions of the points being written. The expected use of this flag is for cache export.

Flag can appear in Create mode of command Flag can appear in Edit mode of command
Flag can appear in Query mode of command Flag can have multiple arguments, passed either as a tuple or a list.

Python examples

import maya.cmds as cmds

# Create a disk cache containing the points of a plane from
# frames 1 - 100. Typically the shape would be deforming.
#
cmds.polyPlane()
cacheFiles = cmds.cacheFile(f='shapeCache', st=1, et=100, points='pPlaneShape1')

# Add a historySwitch node to the history of the shape, and attach the
# newly created cache into the historySwitch node.
#
switch = maya.mel.eval('createHistorySwitch("pPlaneShape1",false)')
cacheNode = cmds.cacheFile(f=cacheFiles[0], cnm='pPlaneShape1', ia='%s.inp[0]' % switch ,attachFile=True)
cmds.setAttr( '%s.playFromCache' % switch, 1 )

# query the files associated with a cacheFile node
#
cmds.cacheFile( cacheNode, query=True, f=True )

# Now use the staticCache flag to indicate that the cache should not be
# created if the object appears to have no animation.
# Since the plane is not animated or deformed, no cache will be created.
#
cmds.polyPlane()
cacheFiles = cmds.cacheFile(f='shapeCache', staticCache=0, st=1, et=100, points='pPlaneShape2')

# Convert a maya cache into pc2 format. The maya cache is named
# pSphereShape1.xml and located in the directory "c:/test/".
#
cmds.cacheFile(pc2=0,pcf='c:/test/mypc2.pc2',f='pSphereShape1',dir='c:/test/')

# Convert a pc2 cache into a maya cache, with the cache data in a single
# file.
#
cmds.cacheFile(pc2=1,pcf='c:/test/mypc2.pc2',f='mayaCache2',dir='c:/test/',format='OneFile')