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

Synopsis

attributeQuery [-affectsAppearance] [-affectsWorldspace] [-attributeType] [-cachedInternally] [-categories] [-channelBox] [-connectable] [-enum] [-exists] [-hidden] [-indeterminant] [-indexMatters] [-internal] [-internalGet] [-internalSet] [-keyable] [-listChildren] [-listDefault] [-listEnum] [-listParent] [-listSiblings] [-longName] [-maxExists] [-maximum] [-message] [-minExists] [-minimum] [-multi] [-niceName] [-node name] [-numberOfChildren] [-range] [-rangeExists] [-readable] [-renderSource] [-shortName] [-softMax] [-softMaxExists] [-softMin] [-softMinExists] [-softRange] [-softRangeExists] [-storable] [-type string] [-typeExact string] [-usedAsColor] [-usedAsFilename] [-usesMultiBuilder] [-worldspace] [-writable]

attributeQuery is NOT undoable, NOT queryable, and NOT editable.

attributeQuery returns information about the configuration of an attribute. It handles both boolean flags, returning true or false, as well as other return values. Specifying more than one boolean flag will return the logical "and" of all the specified boolean flags. You may not specify any two flags when both do not provide a boolean return type. (eg. "-internal -hidden" is okay but "-range -hidden" or "-range -softRange" is not.)

Return value

float[]when querying ranges or default values
booleanwhen querying attribute flags

Keywords

dg, dependency, graph, attribute, query

Related

getClassification, isConnected, isDirty, nodeType, objExists, objectType

Flags

affectsAppearance, affectsWorldspace, attributeType, cachedInternally, categories, channelBox, connectable, enum, exists, hidden, indeterminant, indexMatters, internal, internalGet, internalSet, keyable, listChildren, listDefault, listEnum, listParent, listSiblings, longName, maxExists, maximum, message, minExists, minimum, multi, niceName, node, numberOfChildren, range, rangeExists, readable, renderSource, shortName, softMax, softMaxExists, softMin, softMinExists, softRange, softRangeExists, storable, type, typeExact, usedAsColor, usedAsFilename, usesMultiBuilder, worldspace, writable
Long name (short name) Argument types Properties
-affectsAppearance(-aa) create
Return true if the attribute affects the appearance of the node
-affectsWorldspace(-aws) create
Return the status of the attribute flag marking attributes affecting worldspace
-attributeType(-at) create
Return the name of the attribute type (will be the same type names as described in the addAttr and addExtension commands).
-cachedInternally(-ci) create
Return whether the attribute is cached within the node as well as in the datablock
-categories(-ct) create
Return the categories to which the attribute belongs or an empty list if it does not belong to any.
-channelBox(-ch) create
Return whether the attribute should show up in the channelBox or not
-connectable(-c) create
Return the connectable status of the attribute
-enum(-e) create
Return true if the attribute is a enum attribute
-exists(-ex) create
Return true if the attribute exists
-hidden(-h) create
Return the hidden status of the attribute
-indeterminant(-idt) create
Return true if this attribute might be used in evaluation but it's not known for sure until evaluation time
-indexMatters(-im) create
Return the indexMatters status of the attribute
-internal(-i) create
Return true if the attribute is either internalSet or internalGet
-internalGet(-ig) create
Return true if the attribute come from getCachedValue
-internalSet(-is) create
Return true if the attribute must be set through setCachedValue
-keyable(-k) create
Return the keyable status of the attribute
-listChildren(-lc) create
Return the list of children attributes of the given attribute.
-listDefault(-ld) create
Return the default values of numeric and compound numeric attributes.
-listEnum(-le) create
Return the list of enum strings for the given attribute.
-listParent(-lp) create
Return the parent of the given attribute.
-listSiblings(-ls) create
Return the list of sibling attributes of the given attribute.
-longName(-ln) create
Return the long name of the attribute.
-maxExists(-mxe) create
Return true if the attribute has a hard maximum. A min does not have to be present.
-maximum(-max) create
Return the hard maximum of the attribute's value
-message(-msg) create
Return true if the attribute is a message attribute
-minExists(-mne) create
Return true if the attribute has a hard minimum. A max does not have to be present.
-minimum(-min) create
Return the hard minimum of the attribute's value
-multi(-m) create
Return true if the attribute is a multi-attribute
-niceName(-nn) create
Return the nice name (or "UI name") of the attribute.
-node(-n) name create
Use all attributes from node named NAME
-numberOfChildren(-nc) create
Return the number of children the attribute has
-range(-r) create
Return the hard range of the attribute's value
-rangeExists(-re) create
Return true if the attribute has a hard range. Both min and max must be present.
-readable(-rd) create
Return the readable status of the attribute
-renderSource(-rs) create
Return whether this attribute is marked as a render source or not
-shortName(-sn) create
Return the short name of the attribute.
-softMax(-smx) create
Return the soft max (slider range) of the attribute's value
-softMaxExists(-sxe) create
Return true if the attribute has a soft maximum. A min does not have to be present.
-softMin(-smn) create
Return the soft min (slider range) of the attribute's value
-softMinExists(-sme) create
Return true if the attribute has a soft minimum. A max does not have to be present.
-softRange(-s) create
Return the soft range (slider range) of the attribute's value
-softRangeExists(-se) create
Return true if the attribute has a soft range. Both min and max must be present.
-storable(-st) create
Return true if the attribute is storable
-type(-typ) string create
Use static attributes from nodes of type TYPE. Includes attributes inherited from parent class nodes.
-typeExact(-tex) string create
Use static attributes only from nodes of type TYPE. Does not included inherited attributes.
-usedAsColor(-uac) create
Return true if the attribute should bring up a color picker
-usedAsFilename(-uaf) create
Return true if the attribute should bring up a file browser
-usesMultiBuilder(-umb) create
Return true if the attribute is a multi-attribute and it uses the multi-builder to handle its data
-worldspace(-ws) create
Return the status of the attribute flag marking worldspace attribute
-writable(-w) create
Return the writable status of the attribute

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 be used more than once in a command.

MEL examples

// Determine the hidden status of the "selector" attribute on choice nodes.
//
attributeQuery -typ choice -h selector;
// Result: 0

// Determine the hidden status of the "selector" attribute on this choice node.
// (Usually the same but you can do this for dynamic attributes too.)
//
createNode choice -n whoIsIt;
// Result: choice1
attributeQuery -n whoIsIt -h selector;
// Result: 0

// Determine the range of the selector value on choice nodes.
// In this case there is no range.
// Note, if there is only a minimum or only a maximum range will not set.
//
attributeQuery -typ choice -range selector;

// For the next several examples create a poly cube and add extra attributes.
polyCube -w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0 -cuv 4 -ch 1;
addAttr -ln egRange -at long -min 0 -max 5 -dv 2 |pCube1;
setAttr -e -keyable false |pCube1.egRange;

// Determine if an attribute is keyable
//
attributeQuery -node "pCube1" -k "egRange";
// Result: 0

// Determine the minimum and maximum values of the added attribute egRange
//
attributeQuery -node "pCube1" -range "egRange";
// Result: 0 5

// Determine if there is a minimum for the attribute.
// Note, having a minimum or maximum value does not imply the attribute has a range.
addAttr -ln egMin -at long -min 2 |pCube1;
attributeQuery -node "pCube1" -minExists "egMin";
// Result: 1
attributeQuery -node "pCube1" -maxExists "egMin";
// Result: 0
attributeQuery -node "pCube1" -min "egMin";
// Result: 2

// Determine if an attribute is an enum
// List the enum strings. This will use ':' as a separator like the attr is written in
// an .ma file.
addAttr -ln myEnum -at "enum" -en "chicken:turkey:duck:" |pCube1 -ct "fowl";
attributeQuery -node "pCube1" -listEnum "myEnum";
// Result: chicken:turkey:duck //

// Secondary way to find an attribute's type directly
attributeQuery -node "pCube1" -attributeType "myEnum";
// Result: enum //

// See to which categories and attribute belongs
attributeQuery -node "pCube1" -categories "myEnum";
// Result: fowl //