pymel.core.general.itemFilterAttr

itemFilterAttr(*args, **kwargs)

This command creates a named itemFilterAttr object. This object can be attached to editors, in order to filter the attributes going through them. Using union and intersection filters, complex composite filters can be created.

Flags:

Long Name / Short Name Argument Types Properties
byName / bn unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass items whose names match the given regular expression string. This string can contain the special characters * and ?. ‘?’ matches any one character, and ‘*’ matches any substring. This flag cannot be used in conjunction with the -byScript or -secondScript flags.
byNameString / bns unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass items whose names match the given string. This is a multi-use flag which allows the user to specify several strings. The filter will pass items that match any of the strings. This flag cannot be used in conjunction with the -byScript or -secondScript flags.
byScript / bs unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will run a MEL script named by the given string on each attribute name. Attributes will pass the filter if the script returns a non-zero value. The script name string must be the name of a proc whose signature is:global proc int procName( string $nodeName string $attrName )This flag cannot be used in conjunction with the -byName or -byNameString flags.
classification / cls unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  Indicates whether the filter is a built-in or user filter. The string argument must be either builtInor user. The otherfilter classification is deprecated. Use userinstead. Filters created by Maya should be classified as builtIn. Filters created by plugins or user scripts should be classified as user. Filters will not be deleted by a file new. Filter nodes will be hidden from the UI (ex: Attribute Editor, Hypergraph etc) and will not be accessible from the command-line.
dynamic / dy bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass dynamic attributes
exists / ex bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass attributs that exist
hasCurve / hc bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass attributes that are driven by animation curves.
hasDrivenKey / hdk bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass attributes that are driven by driven keys
hasExpression / he bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass attributes that are driven by expressions
hidden / h bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass attributes that are hidden to the user
intersect / intersect unicode, unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will consist of the intersection of two other filters, whose names are the given strings. Attributes will pass this filter if and only if they pass both of the contained filters.
keyable / k bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass attributes that are keyable
listBuiltInFilters / lbf bool ../../../_images/query.gif
  Returns an array of all attribute filters with classification builtIn.
listOtherFilters / lof bool ../../../_images/query.gif
  The otherclassification has been deprecated. Use userinstead. Returns an array of all attribute filters with classification other.
listUserFilters / luf bool ../../../_images/query.gif
  Returns an array of all attribute filters with classification user.
negate / neg bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  This flag can be used to cause the filter to invert itself, and reverse what passes and what fails.
parent / p unicode  
  This flag is no longer supported.
published / pub bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass attributes that are published on the container.
readable / r bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass attributes that are readable (outputs)
scaleRotateTranslate / srt bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will show only SRT attributes: scale, rotate, translate and their children
secondScript / ss unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  Can be used in conjunction with the -bs flag. The second script is for filtering whole lists at once, rather than individually. Its signature must be:global proc string[] procName( string[] $nodeName string[] $attrName )It should take in a list of attributes, and return a filtered list of attributes. This flag cannot be used in conjunction with the -byName or -byNameString flags.
text / t unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  Defines an annotation string to be stored with the filter
union / un unicode, unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will consist of the union of two other filters, whose names are the given strings. Attributes will pass this filter if they pass at least one of the contained filters.
writable / w bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
  The filter will only pass attributes that are writable (inputs) Flag can have multiple arguments, passed either as a tuple or a list.

Derived from mel command maya.cmds.itemFilterAttr

Example:

import pymel.core as pm

#    Create a filter that will pass all the SRT (scale-rotate-translate)
#    attributes.
#
srtFilter = pm.itemFilterAttr('itemFilterAttr', scaleRotateTranslate=True)

#    Create a filter that will pass all the attributes driven by an
#    expression.
#
exprFilter = pm.itemFilterAttr(hasExpression=True)

#    Create a filter that will pass all the SRT attributes driven by an
#    expression (intersect two previous ones).
#
srtExprFilter = pm.itemFilterAttr(intersect=(srtFilter, exprFilter))

#    Delete the filters when done with them.
#
pm.delete( srtFilter, exprFilter, srtExprFilter )