Go to: Synopsis. Return value. Related. Flags. Python examples.
dynExport(
[objects]
, [allObjects=boolean], [attribute=string], [format=string], [maxFrame=time], [minFrame=time], [overSampling=int], [path=string])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
dynExport is undoable, NOT queryable, and NOT editable.
Export particle data to disk files.
For cache export (-format cache), dynExport also sets three attributes
of the current dynGlobals node. It sets the useParticleRenderCache
attribute to true, and the min/maxFrameOfLastParticleRenderCache
attributes to correspond to the min and max frames.
Exported .pda or .pdb files are assigned a name of form object
name.frame.extension, where extension is "pda" or "pdb."
The naming convention for .pdc files is similar but does not use frame
numbers, it uses a more precise representation of the time instead.
By default, the pda and pdb formats export all per-particle
attributes, and all integer or float type attributes except those
which are hidden or not storable. (Exception: level of detail is not
exported, by default) The pdc format exports all attributes which the
particle object needs for its state cache.
To specify only selected attributes, use the -atr flag (which is
multi-use). In general, it is recommended not to use this flag with
pdc type, since you need all the attributes in order for the cache to
be useful.
dynExport exports data for the current frame, or for a range of frames
specified with -mnf and -mxf. If you are not already at the start
frame, dynExport will run up the scene for you. VERY VERY
IMPORTANT NOTE: If you use dynExport in -prompt mode, it does NOT
automatically force evaluation of your objects. You must do this
yourself from your script. The easiest way is to request each
particle object's "count" attribute each frame. You must request the
count attribute for each object you want to export, because their
solvers run independently of one another. In interactive mode,
objects WILL get evaluated automatically and you don't have to worry
about any of this.
When exporting a particle object whose particles are created from
collisions involving particles in another particle object(s), you must
make sure you simultaneously export all the particle objects involved
in the dependency chain otherwise you will get an empty cache file.
For non-per-particle attributes, pda and pdb formats write the
identical value once for each particle. The following types of
non-per-particle attributes can be exported: float, double,
doubleLinear, doubleAngle, byte, short, long, enum. The first four
are exported as "Real" (in PDB parlance), and the last four as
"Integer."
In the pda and pdb formats, "particleId" and "particleId0" are
exported as Integer, and are exported under the names "id" and "id0"
respectively. All other attributes are exported under their long
names.
string | Path to the exported files |
getParticleAttr, particle
allObjects, attribute, format, maxFrame, minFrame, overSampling, path
Long name (short name) |
Argument types |
Properties |
attribute(atr)
|
string
|
|
|
Name of attribute to be exported. If any specified object
does not have one of the specified attributes, dynExport will issue
an error and not do the export.
|
|
minFrame(mnf)
|
time
|
|
|
Starting frame to be exported. The export operation will play the
scene through from min frame to max frame as it exports.
|
|
maxFrame(mxf)
|
time
|
|
|
Ending frame to be exported.
|
|
overSampling(os)
|
int
|
|
|
OverSampling to be used during export.
|
|
allObjects(all)
|
boolean
|
|
|
Ignore the selection list and export all particle objects.
If you also specify an object name, the -all flag will be ignored.
|
|
path(p)
|
string
|
|
|
This option allows you to specify a subdirectory of the workspace
"particles" directory where you want the exported files to be stored.
By default, files are stored in the workspace particles directory,
i.e., -path is relative to that directory.
( Please Read This: This is a change from previous versions of Maya
in which the path was relative to the workspace root directory.)
You can set the "particles" directory anywhere you want using the
project window or workspace -fr command. (In this way, you can use
an absolute path for export).
The -path flag cannot handle strings which include "/" or "\",
in other words, it lets you go down only one level in the directory hierarchy.
If you specify a path which doesn't exist, the action will create it
if possible; if it can't create the path it will warn you and fail.
If you are using a project for which a particle data directory is
not defined, dynExport will create a default one called "particles"
and add it to your workspace.
|
|
format(f)
|
string
|
|
|
Desired format: "binary" ("pdb"), "ascii" ("pda"), or "cache" ("pdc").
The pdc format is for use by the Maya particle system to
cache particle data. The pda and pdb format options
are intended for pipelines involving other software (for example,
sending the data to some program written in-house);
Maya cannot read pda or pdb files.
There is no formal description of the PDB format, but the
ExploreMe/particles/readpdb directory contains the source
and Makefile for a small, simple C program called "readpdb"
which reads it. Note that you must compile and run reapdb on the
platform which you exported the files on.
|
|
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.
|
import maya.cmds as cmds
cmds.dynExport( 'particle1', mnf=5, mxf=10, os=2, atr=('position', 'velocity'), p='PDB' )
# Export position and velocity attributes for particle1
# for frames 5 through 10 at every half frame interval,
# to files in subdirectory "PDB" of the workspace root
# directory. The default format (binary) will be used.