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

Synopsis

applyMetadata([format=string], [scene=boolean], [value=string])

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

applyMetadata is undoable, NOT queryable, and NOT editable.

Define the values of a particular set of metadata on selected objects. This command is used in preservation of metadata through Maya file formats (.ma/.mb). If any metadata already exists it will be kept and merged with the new metadata, overwriting duplicate entries. (i.e. if this command specifies data at index N and you already have a value at index N then the one this command specifies will be the new value and the old one will cease to exist.)

Unlike the editMetadata command it is not necessary to first use the addMetadata command or API equivalent to attach a metadata stream to the object, this command will do both assignment of structure and of metadata values. You do have to use the dataStructure command or API equivalent to create the structure being assigned first though.

The formatted input will be in a form expected by the data associations serializer (see adsk::Data::AssociationsSerializer for more information). The specific serialization type will be the default 'raw' if the format flag is not used.

For example the "raw" format input string "channel face\n[STREAMDATA]\nendChannels\nendAssociations" with no flags is equivalent to the input "[STREAMDATA]\nendChannels" with the channel flag set to 'face'

Return value

BooleanTrue if the application succeeded

Keywords

metadata, component, stream, channel, association

Related

addMetadata, dataStructure, editMetadata, getMetadata

Flags

format, scene, value
Long name (short name) Argument types Properties
format(fmt) string create
Name of the data association format type to use in the value flag parsing. Default value is "raw".
scene(scn) boolean create
Use this flag when you want to apply metadata to the scene as a whole rather than to any individual nodes. If you use this flag and have nodes selected the nodes will be ignored and a warning will be displayed. Scene metadata is incompatible with referenced scenes. Node associated metadata from referenced files will still be readable from master scenes but scene specific metadata of referenced files will not be accessible from a any master scene. This will ensure that referenced files metadata will not end up corrupting the master file scene-metadata.
value(v) string create
String containing all of the metadata to be assigned to the selected object.

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

import maya.cmds as cmds
pNode = cmds.polyPlane( name='p' )
# Create a sample structure
cmds.dataStructure( format='raw', asString='name=IdStruct:int32=ID' )
# Apply some metadata based on the defined structure to the created mesh
# Normally you'll only see these in Maya files but it can be used from the
# command line.
cmds.applyMetadata( pNode, value='channel\nname face\nstream\nname IdStream\nstructure IdStruct\n0\n99\n1\n999\n2\n9999\nendStream\nendChannel\nendAssociations' )
# Return: 1 #