ジャンプ先: 概要. 戻り値. フラグ. Python 例.

概要

itemFilter( [string] , [byBin=string], [byName=string], [byScript=string], [byType=string], [category=string], [classification=string], [clearByBin=boolean], [clearByType=boolean], [difference=[string, string]], [exists=boolean], [intersect=[string, string]], [listBuiltInFilters=boolean], [listOtherFilters=boolean], [listUserFilters=boolean], [negate=boolean], [parent=string], [pythonModule=string], [secondScript=string], [text=string], [union=[string, string]], [uniqueNodeNames=boolean])

注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。

itemFilter は、取り消し可能、照会可能、および編集可能です。

指定した項目フィルタ オブジェクトを作成するためのコマンドです。このオブジェクトは selectionConnection オブジェクトやエディタにアタッチして、これらのオブジェクトやエディタを通過する項目リストをフィルタすることができます。論理和(Union)、論理積(Intersection)および論理差(Difference)フィルタを使用して、複雑な合成フィルタを作成することができます。

戻り値

string単一のコマンドの結果
string[]複数のコマンドの結果

照会モードでは、戻り値のタイプは照会されたフラグに基づきます。

フラグ

byBin, byName, byScript, byType, category, classification, clearByBin, clearByType, difference, exists, intersect, listBuiltInFilters, listOtherFilters, listUserFilters, negate, parent, pythonModule, secondScript, text, union, uniqueNodeNames
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
byBin(bk) string createqueryeditmultiuse
このフィルタは、bin リストに bin 名として指定した文字列が含まれている項目だけを通します。
これは多目的フラグです。
1 つのコマンドでこのフラグが複数回使用されている場合、指定した bin (つまり、論理和、論理 bin、またはその他の指定したすべての bin)と最低 1 つ一致するノードはフィルタを通過できます。
byName(bn) string createqueryedit
フィルタは、指定した正規表現の文字列と一致する名前を持つ項目のみを通過させます。この文字列には、* および ? という特殊文字を含めることができます。「?」は任意の 1 文字に一致し、「*」は任意のサブストリングに一致します。
byScript(bs) string createqueryedit
フィルタにより、指定した文字列で各項目に対して、MEL スクリプトが実行されます。スクリプトから 0 以外の値が返された場合、項目はフィルタを通過します。スクリプト名の文字列には、次のシグネチャを持つプロシージャの名前を指定する必要があります。
global proc int procName( string $name )
または
def procName(*args, **keywordArgs)
ただし -pym/pythonModule が指定されている場合。-secondScript も使用すると、それが常に優先されることに注意してください。
byType(bt) string createqueryeditmultiuse
指定した文字列と一致する typeName を持つ項目だけがフィルタを通過します。オブジェクトの typeName を見つけるには、 nodeType コマンドを使用します。これは多目的フラグです。1 つのコマンドでこのフラグが複数回使用されている場合、指定したタイプ(つまり、論理和、論理タイプ、またはそのほかの指定したタイプ)と最低 1 つ一致するノードはフィルタを通過できます。
category(cat) string createqueryeditmultiuse
フィルタを分類するための文字列です。
classification(cls) string createqueryedit
フィルタが組み込みフィルタであるか、ユーザ定義フィルタであるかを指定します。文字列引数は「builtIn」または「user」のどちらかである必要があります。「other」の分類は廃止されました。「user」を代わりに使用してください。フィルタはファイルの新規作成によっては削除されません。フィルタ ノードが UI (例: アトリビュート エディタ、ハイパーグラフなど)から非表示になり、コマンドラインからアクセスできなくなります。
clearByBin(cbk) boolean createedit
このフラグにより、このフィルタに接続されている既存の bin がすべてクリアされます。
clearByType(cbt) boolean createedit
このフラグにより、このフィルタと接続されている既存の typeName がすべて消去されます。
difference(di) [string, string] createqueryedit
このフィルタは、名前が指定した文字列である 2 つの他のフィルタの論理差(Difference)で構成されます。項目は、1 番目のフィルタを通過して 2 番目のフィルタは通過しないときかつそのときに限り、このフィルタを通過します。
exists(ex) boolean create
指定したオブジェクトが存在するかどうかによって、true または false を返します。他のフラグは無視されます。
intersect(intersect) [string, string] createqueryedit
このフィルタは、指定した文字列の名前を持つ 2 つのフィルタの論理積(Intersection)で構成されます。これに含まれる両方のフィルタを通過できる項目のみ、このフィルタを通過できます。
listBuiltInFilters(lbf) boolean query
「builtIn」に分類されている項目フィルタすべての配列を返します。
listOtherFilters(lof) boolean query
「other」の分類は廃止されました。「user」を代わりに使用してください。「other」に分類されている項目フィルタすべての配列を返します。
listUserFilters(luf) boolean query
「user」に分類されている項目フィルタすべての配列を返します。
negate(neg) boolean createqueryedit
このフラグはフィルタ自身を反転させたり、通過するものと通過しないものを逆転したりするために使用できます。
parent(p) string createqueryedit
オプションです。指定すると、フィルタのライフスパンがその親のライフスパンに関連付けられます。親が範囲を逸脱すると、フィルタも範囲を逸脱します。指定されていない場合、フィルタは明示的に削除されるまで存在しつづけます。
pythonModule(pym) string createqueryedit
フラグの -bs/byScript および -ss/secondScript は、指定したモジュールにある Python 関数として扱われます。
secondScript(ss) string createqueryedit
-bs フラグとともに使用することはできません。2 番目のスクリプトは、リスト全体を個々にではなく、同時にフィルタリングするためのものです。シグネチャは、
global proc string[] procName( string[] $name )
または
def procName(*args, **keywordArgs)
ただし -pym/pythonModule が指定されている場合。これは項目のリストを取り込み、フィルタした項目のリストを返します。
text(t) string createqueryedit
フィルタを使用して格納する注釈文字列を定義します。
union(un) [string, string] createqueryedit
このフィルタは、指定した文字列の名前を持つ 2 つのフィルタの論理和(Union)で構成されます。含まれているフィルタの最低 1 つを通過できる項目は、このフィルタを通過できます。
uniqueNodeNames(unn) boolean queryedit
ネーミング コンフリクトが起こらないように、固有のノード名をスクリプト フィルタに返します。返される名前は、ノードを識別するために最小の長さのパスです。

フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。

Python 例

import maya.cmds as cmds

#    Create a filter that will pass all transforms.
#
transforms = cmds.itemFilter(byType='transform')

#    Create a filter that will pass all spot lights.
#
spotLights = cmds.itemFilter(byType='spotLight')

#    There are two ways to create a filter that passes both
#    spot lights and transforms.  You can create a filter
#    that is a union of the previous two or just specify
#    both object types on one filter.
#
unionFilter = cmds.itemFilter(union=(transforms, spotLights))
spotLightsAndTransforms = cmds.itemFilter(byType=('transform','spotLight'))

#    Create a filter that lists all objects beginning with the
#    letter "a".
#
aFilter = cmds.itemFilter(byName='a*')

#    Create a filter that lists only transforms and spot lights
#    that begin with the letter "a".
#
intersectionFilter = cmds.itemFilter( intersect=(spotLightsAndTransforms, aFilter) )

#    Delete the filters when done with them.
#
cmds.delete( transforms, spotLights, aFilter )
cmds.delete( unionFilter, intersectionFilter )