pymel.core.system.cacheFile

cacheFile(*args, **kwargs)

Creates one or more cache files on disk to store attribute data for a span of frames. The caches can be created for either points on a geometry (using the pts/points flag) or for vectorArray output data (using the oa/outAttr flag). 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 backupfollowed 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.

Flags:
Long name (short name) Argument Types Properties
appendFrame (apf) bool ../../../_images/create.gif
 

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) bool ../../../_images/create.gif
 

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) unicode ../../../_images/create.gif
 
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.
cacheFormat (cf) unicode ../../../_images/create.gif ../../../_images/query.gif
 

Cache file format, default is Maya’s .mcc format, but others available via plugin Flag can have multiple arguments, passed either as a tuple or a list.

cacheInfo (ci) unicode ../../../_images/create.gif ../../../_images/query.gif
 

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) unicode ../../../_images/query.gif
 
Returns the list of cacheable attributes defined on the accompanying cache node. This argument requires the use of the cacheableNode flag.
cacheableNode (cnd) unicode ../../../_images/create.gif
 

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.

channelIndex (chi) bool ../../../_images/create.gif ../../../_images/query.gif
 
A query-only flag which returns the channel index for the selected geometry for the cacheFile node specified using the cacheFileNode flag.
channelName (cnm) unicode ../../../_images/create.gif ../../../_images/query.gif
 

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) bool ../../../_images/create.gif
 
Convert a PC2 file to the Maya cache format (true), or convert Maya cache to pc2 format (false)
createCacheNode (ccn) bool ../../../_images/create.gif
 
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) unicode ../../../_images/create.gif
 

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) bool ../../../_images/query.gif
 

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, and outAttr flags.

deleteCachedFrame (dcf) bool ../../../_images/create.gif
 

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) bool ../../../_images/query.gif
 

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) unicode ../../../_images/create.gif ../../../_images/query.gif
 

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) bool ../../../_images/create.gif
 
During cache creation, double data is stored in the file as floats. This helps cut down file size.
endTime (et) time ../../../_images/create.gif
 
Specifies the end frame of the cache range.
fileName (f) unicode ../../../_images/create.gif ../../../_images/query.gif
 

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) unicode ../../../_images/create.gif
 
Specifies the format of the cache. Valid values are OneFileand OneFilePerFrame
geometry (gm) bool ../../../_images/query.gif
 
A query flag which returns the geometry controlled by the specified cache node
inAttr (ia) unicode ../../../_images/create.gif
 

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) unicode ../../../_images/create.gif
 

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, smoothand step.

interpEndTime (iet) time ../../../_images/create.gif
 

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 ../../../_images/create.gif
 

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) bool ../../../_images/create.gif
 

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) unicode ../../../_images/create.gif
 
Specifies the name of the attribute that will be cached to disk.
outTangent (ot) unicode ../../../_images/create.gif
 

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, smoothand step.

pc2File (pcf) unicode ../../../_images/create.gif
 
Specifies the full path to the pc2 file. Must be used in conjunction with the pc2 flag.
pointCount (pc) bool ../../../_images/query.gif
 
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) unicode ../../../_images/create.gif
 
Specifies the name of a geometry whose points will be cached.
prefix (p) bool ../../../_images/create.gif
 
Indicates that the specified fileName should be used as a prefix for the cacheName.
refresh (r) bool ../../../_images/create.gif
 

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) bool ../../../_images/create.gif
 

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) bool ../../../_images/edit.gif
 

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 ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
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 ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

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 ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

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) bool ../../../_images/create.gif
 

When used in conjunction with the pts 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 ../../../_images/create.gif
 
Specifies the start frame of the cache range.
staticCache (sc) bool ../../../_images/create.gif ../../../_images/query.gif
 

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.

Derived from mel command maya.cmds.cacheFile

Example:

import pymel.core as pm

# Create a disk cache containing the points of a plane from
# frames 1 - 100. Typically the shape would be deforming.
#
pm.polyPlane()
# Result: [nt.Transform(u'pPlane1'), nt.PolyPlane(u'polyPlane1')] #
cacheFiles = pm.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 = pm.cacheFile(f=cacheFiles[0], cnm='pPlaneShape1', ia='%s.inp[0]' % switch ,attachFile=True)
pm.setAttr( '%s.playFromCache' % switch, 1 )
# query the files associated with a cacheFile node
#
pm.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.
#
pm.polyPlane()
cacheFiles = pm.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/".
#
pm.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.
#
pm.cacheFile(pc2=1,pcf='c:/test/mypc2.pc2',f='mayaCache2',dir='c:/test/',format='OneFile')

Previous topic

pymel.core.system.autoSave

Next topic

pymel.core.system.cacheFileCombine

Core

Core Modules

Other Modules

This Page