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

概要

polySelectConstraint([angle=int], [anglePropagation=boolean], [angleTolerance=float], [anglebound=[angle, angle]], [border=boolean], [borderPropagation=boolean], [convexity=int], [crease=boolean], [disable=boolean], [dist=int], [distaxis=[float, float, float]], [distbound=[float, float]], [distpoint=[float, float, float]], [edgeDistance=uint], [geometricarea=int], [geometricareabound=[float, float]], [holes=int], [length=int], [lengthbound=[float, float]], [loopPropagation=boolean], [max2dAngle=float], [max3dAngle=float], [mode=int], [nonmanifold=int], [oppositeEdges=boolean], [order=int], [orderbound=[int, int]], [orient=int], [orientaxis=[float, float, float]], [orientbound=[float, float]], [planarity=int], [propagate=int], [random=int], [randomratio=float], [returnSelection=boolean], [ringPropagation=boolean], [shell=boolean], [size=int], [smoothness=int], [stateString=boolean], [textured=int], [texturedarea=int], [texturedareabound=[float, float]], [textureshared=int], [topology=int], [type=int], [uvBorderSelection=boolean], [uvConstraint=boolean], [uvEdgeLoopPropagation=boolean], [uvEdgeRingPropagation=boolean], [uvFaceOrientation=int], [uvShell=boolean], [visibility=int], [visibilityangle=angle], [visibilitypoint=[float, float, float]], [where=int], [wholeSensitive=boolean])

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

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

グローバルなポリゴンの選択項目のコンストレイントを変更します。

戻り値

なし

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

関連

polyInstallAction, polyListComponentConversion, polySelectConstraintMonitor

フラグ

angle, anglePropagation, angleTolerance, anglebound, border, borderPropagation, convexity, crease, disable, dist, distaxis, distbound, distpoint, edgeDistance, geometricarea, geometricareabound, holes, length, lengthbound, loopPropagation, max2dAngle, max3dAngle, mode, nonmanifold, oppositeEdges, order, orderbound, orient, orientaxis, orientbound, planarity, propagate, random, randomratio, returnSelection, ringPropagation, shell, size, smoothness, stateString, textured, texturedarea, texturedareabound, textureshared, topology, type, uvBorderSelection, uvConstraint, uvEdgeLoopPropagation, uvEdgeRingPropagation, uvFaceOrientation, uvShell, visibility, visibilityangle, visibilitypoint, where, wholeSensitive
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
angle(a) int createquery
0(オフ) 1(オン)。
anglePropagation(ap) boolean createquery
true にすると、接続されたすべてのコンポーネントのうち、法線が元の選択項目の法線のいずれかに近いものが含まれるよう、選択範囲が延長されます(angleTolerance を参照)。
angleTolerance(at) float createquery
角度の伝播がオンになっている場合、これは選択項目が伝播する法線ベクトルの最大差を制御します。
anglebound(ab) [angle, angle] createquery
最小および最大の角度値は Maya で使用されている現在の単位で指定する必要があります。現在の単位の確認方法は例を参照してください。
頂点の場合: 頂点を持つ 2 つのエッジ間の角度です。
エッジの場合: エッジを持つ 2 つのフェース間の角度です。
border(bo) boolean createquery
「-uvConstraint true」を使用して UV ビューのコンストレイントを編集または照会します。true にすると、選択項目が接続されているすべての境界コンポーネントに延長され、「ループ」全体が選択されるようになります。また、既存の選択からすべての非境界コンポーネントを削除します(互換モード)。
borderPropagation(bp) boolean createquery
true にすると、選択項目が接続されているすべての境界コンポーネントに延長され、「ループ」全体が選択されるようになります。
convexity(c) int createquery
0 (オフ) 1 (凹型) 2 (凸型)。
crease(cr) boolean createquery
true の場合に選択項目は、接続されて折り目が付けられたすべてのコンポーネントに延長されます。
disable(dis) boolean create
すべてのコンポーネント タイプの全コンストレイントをオフに切り替えますが、その他のコンストレイント パラメータは変更しません。
このフラグは、一部のコンストレイントをオンに切り替える他のフラグと一緒に使用することが可能です。その場合は、まずすべてのコンストレイントが無効になり(コマンド ライン上の -disable フラグの位置に関わらず)、指定したコンストレイントのみが有効になります。
dist(d) int createquery
0 (オフ) 1 (ポイントへ) 2 (軸へ) 3 (プレーンへ)。
distaxis(da) [float, float, float] createquery
軸(プレーンへの距離の場合は、プレーンの法線)
distbound(db) [float, float] createquery
最小および最大距離
distpoint(dp) [float, float, float] createquery
ポイント(軸/プレーンへの距離の場合は、軸/プレーンの原点)
edgeDistance(ed) uint create
「隣接エッジ」の伝播モードにおける、エッジの選択を延長するための最大距離(エッジ数)です。0 は、距離コンストレイントを無視します。
geometricarea(ga) int createquery
0(オフ) 1(オン)。
geometricareabound(gab) [float, float] createquery
最小および最大の領域
holes(h) int createquery
0 (オフ) 1 (穴あき) 2 (穴なし)。
length(l) int createquery
0(オフ) 1(オン)。
lengthbound(lb) [float, float] createquery
最小および最大の長さ
loopPropagation(lp) boolean createquery
true にすると、エッジ選択がループに延長されます。
max2dAngle(m2a) float create
「隣接エッジ」の伝播モードにおける、2D 接線プレーンにある 2 つの連続エッジ間の最大角度です。
max3dAngle(m3a) float create
「隣接エッジ」の伝播モードにおける、3D 空間にある 2 つの連続エッジ間の最大角度です。
mode(m) int createquery
0 (オフ) 1 (次) 2 (現在および次) 3 (すべておよび次)
オフ: コンストレイントを使用しません。
次: コンストレイントを使用して次の選択項目をフィルタリングします。
現在および次: コンストレイントを現在の選択項目に適用し、次の選択項目をフィルタリングします。
すべておよび次: コンストレイントに適したすべての項目を選択します。
nonmanifold(nm) int createquery
0 (オフ) 1 (オン)。
oppositeEdges(oe) boolean create
反対側のエッジを使用
order(order) int createquery
0(オフ) 1(オン)。
orderbound(orb) [int, int] createquery
最小および最大の順序 所有しているエッジの数
orient(o) int createquery
0(オフ) 1(向き) 2(方向)。
orientaxis(oa) [float, float, float] createquery
orientbound(ob) [float, float] createquery
最小および最大の角度値は Maya で使用されている現在の単位で指定する必要があります。現在の単位の確認方法は例を参照してください。
planarity(p) int createquery
0 (オフ) 1 (非平面) 2 (平面)。
propagate(pp) int createquery
0(オフ) 1(より多く) 2(より少なく) 3(境界) 4(連続エッジ ) 5(ループに沿って延長) 6(ループに沿って縮小)。
より多く: 現在選択している境界を現在の選択項目に追加します。
より少なく: 現在選択している境界を現在の選択項目から除去します。
境界: 現在選択している境界のみを維持します。
連続エッジ: 現在選択しているエッジに位置合わせたエッジを追加します。選択されるエッジの向きと数は、-m2a、-m3a、-ed の各フラグで制御します。
ループに沿って延長(Grow Along Loop): 現在の選択項目をループに沿って延長します。フェース、エッジ、頂点、UV がサポートされます。
ループに沿って縮小(Shrink Along Loop): 現在の選択項目をループに沿って縮小します。フェース、エッジ、頂点、UV がサポートされます。
random(r) int createquery
0(オフ) 1(オン)。
randomratio(rr) float createquery
率 [0,1]
returnSelection(rs) boolean create
true にすると、現在の選択は変更されず、代わりに新しい選択が結果として返されます。
ringPropagation(rp) boolean createquery
true にすると、エッジ選択がリングに延長されます。
shell(sh) boolean createquery
true にすると、選択項目が接続されているすべてのコンポーネントに延長され、オブジェクト全体を選択します。
size(sz) int createquery
0 (オフ) 1 (三角形) 2 (四角形) 3 (N 角形)。
smoothness(sm) int createquery
0 (オフ) 1 (ハード) 2 (スムーズ)。
stateString(sts) boolean query
照会モード専用のフラグです。すべての現在の設定を復元する MEL コマンドを返します。
textured(tx) int createquery
0 (オフ) 1 (マップ済み) 2 (未マップ)。
texturedarea(ta) int createquery
0 (オフ) 1 (指定した領域に符号が付かない) 2 (指定した領域に符号が付く)。
texturedareabound(tab) [float, float] createquery
最小および最大の領域
textureshared(ts) int createquery
0(オフ) 1(オン)。このオプションは、複数の頂点が共有する現在のマップの任意の UV を選択します。
topology(tp) int createquery
0 (オフ) 1 (三角化不可) 2 (ラミナ) 3 (三角化不可とラミナ)
type(t) int createquery

0x0000 (なし)
0x0001 (頂点)
0x8000 (エッジ)
0x0008 (フェース)
0x0010 (テクスチャ座標)
uvBorderSelection(ubs) boolean createquery
このフラグは UV ビューでのみ動作します。true にすると、選択項目がすべての UV 境界コンポーネントに延長されます。また、既存の選択項目から UV 境界上にないすべてのコンポーネントを除去します。
uvConstraint(uvc) boolean create
true にすると、該当するコンストレイント フラグが UV ビュー内で動作します。

照会モードでは、このフラグは値を受け入れることができます。

uvEdgeLoopPropagation(ulp) boolean createquery
「-uvConstraint true」を使用して UV ビューのコンストレイントを編集または照会します。true にすると、UV エッジ選択がループに延長されます。
uvEdgeRingPropagation(urp) boolean createquery
このフラグは UV ビューでのみ動作します。true にすると、UV エッジ選択がリングに延長されます。
uvFaceOrientation(ufo) int createquery
このフラグは UV ビューでのみ動作します。0(オフ) 1(正面) 2(背面)。
uvShell(uv) boolean createquery
true にすると、選択が UV 空間で接続したすべてのコンポーネントに延長されます。
visibility(v) int createquery
0(オフ) 1(オン)。
visibilityangle(va) angle createquery
角度 [0, 360]
visibilitypoint(vp) [float, float, float] createquery
ポイント
where(w) int createquery
0 (オフ) 1 (境界上) 2 (内部)。
wholeSensitive(ws) boolean createquery
フェースの選択方法を指定します。
フェース内側の任意の箇所を選択する(true の場合)
フェース センターのマーカーを選択する(false の場合)

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

Python 例

import maya.cmds as cmds

cmds.selectMode( co=True )

# <b>Propagation</b>

cmds.polyPlane( n='plg', w=5, h=5 )
cmds.delete( 'plg.f[20:29]' )
cmds.selectType( pf=True )
cmds.polySelectConstraint( sh=True ) # next mouse selections will propagate to all shell
cmds.polySelectConstraint( sh=False )
cmds.polySelectConstraint( bo=True ) # next mouse selections will propagate along border
cmds.polySelectConstraint( bo=False )
cmds.polySelectConstraint( cr=True ) # next mouse selections will propagate to all connected creased components
cmds.polySelectConstraint( cr=False )

cmds.select( 'plg.f[54:55]' )
cmds.polySelectConstraint( pp=1 )
cmds.polySelectConstraint( pp=1 ) # to get more and more
cmds.polySelectConstraint( pp=1 )
cmds.polySelectConstraint( pp=2 ) # to get less
cmds.polySelectConstraint( pp=3 ) # to get selection border
cmds.delete( 'plg' )

# <b>Propagation along loop</b>

cmds.polyPlane( n='plg', w=5, h=5 )
cmds.selectType( pf=True )
cmds.select( 'plg.f[42:43]', 'plg.f[53]', 'plg.f[76]' )
cmds.polySelectConstraint( pp=5 ) # grow face selection along loop
cmds.polySelectConstraint( pp=6 ) # shrink face selection along loop
cmds.delete( 'plg' )

cmds.polyPlane( n='plg', w=5, h=5 )
cmds.selectType( pe=True )
cmds.select( 'plg.e[113]', 'plg.e[115:116]' )
cmds.polySelectConstraint( pp=5 ) # grow edge selection along loop
cmds.polySelectConstraint( pp=6 ) # shrink edge selection along loop
cmds.delete( 'plg' )

cmds.polyPlane( n='plg', w=5, h=5 )
cmds.selectType( pv=True )
cmds.select( 'plg.vtx[59:61]' )
cmds.polySelectConstraint( pp=5 ) # grow vertex selection along loop
cmds.polySelectConstraint( pp=6 ) # shrink vertex selection along loop
cmds.delete( 'plg' )

cmds.polyPlane( n='plg', w=5, h=5 )
cmds.selectType( puv=True )
cmds.select( 'plg.map[71]', 'plg.map[59:60]' )
cmds.polySelectConstraint( pp=5 ) # grow UV selection along loop
cmds.polySelectConstraint( pp=6 ) # shrink UV selection along loop
cmds.delete( 'plg' )

#<b>Properties</b>

#location
cmds.polyPlane( n='plg', w=5, h=5 )
cmds.selectType( pv=True )
cmds.polySelectConstraint( m=3, t=1, w=1 ) # to get border vertices
cmds.polySelectConstraint( m=3, t=1, w=2 ) # to get inner vertices
cmds.polySelectConstraint( w=0 ) # turn off location constraint
cmds.delete( 'plg' )

#edge smoothness
cmds.polyCylinder( n='plg' )
cmds.selectType( pe=True )
cmds.polySelectConstraint( m=3, t=0x8000, sm=1 ) # to get hard edges
cmds.polySelectConstraint( m=3, t=0x8000, sm=2 ) # to get soft edges
cmds.polySelectConstraint( sm=0 ) # turn off edge smoothness constraint
cmds.delete( 'plg' )

#face size
cmds.polyCylinder( n='plg', sz=1 )
cmds.delete( 'plg.f[40:59]' )
cmds.polyCloseBorder( 'plg.e[27]' )
cmds.selectType( pf=True )
cmds.polySelectConstraint( m=3, t=8, sz=1 ) # to get triangles
cmds.polySelectConstraint( m=3, t=8, sz=2 ) # to get quads
cmds.polySelectConstraint( m=3, t=8, sz=3 ) # to get N-sided
cmds.polySelectConstraint( sz=0 ) # turn off face size constraint
cmds.delete( 'plg' )

#face planarity
#    polyPlane -n plg -w 5 -h 5; polyMoveVertex -ltz 1 plg.vtx[79] plg.vtx[85];
cmds.selectType( pf=True )
cmds.polySelectConstraint( m=3, t=8, p=1 ) # to get non-planar faces
cmds.polySelectConstraint( m=3, t=8, p=2 ) # to get planar faces
cmds.polySelectConstraint( p=0 ) # turn off face planarity constraint
cmds.delete( 'plg' )

#face convexity
cmds.polyPlane( n='plg', w=5, h=5 )
cmds.delete( 'plg.f[51]', 'plg.f[61]', 'plg.f[52:53]' )
cmds.polyCloseBorder( 'plg.e[146]' )
cmds.selectType( pf=True )
cmds.polySelectConstraint( m=3, t=8, c=1 )# to get non-convex faces
cmds.polySelectConstraint( m=3, t=8, c=2 )# to get convex faces
cmds.polySelectConstraint( c=0 )#  turn off face convexity constraint
cmds.delete( 'plg' )

#face holes
cmds.polyCreateFacet( n='plg', p=[(-2, 2, 0), (-2, -2, 0), (2, -2, 0), (2, 2, 0)] )
cmds.polyAppend( a=[2, (6, -2, 0), (6, 2, 0), (), (3, 1, 0), (3, -1, 0), (5, 0, 0)] )
cmds.selectType( pf=True )
cmds.polySelectConstraint( m=3, t=8, h=1 )# to get holed faces
cmds.polySelectConstraint( m=3, t=8, h=2 )# to get non-holed faces
cmds.polySelectConstraint( h=0 )# turn off hole constraint
cmds.delete( 'plg' )

#face mapping
cmds.polyPlane( n='plg', w=5, h=5 )
cmds.polyMapDel( 'plg.f[60:69]' )
cmds.selectType( pf=True )
cmds.polySelectConstraint( m=3, t=8, tx=1 ) # to get mapped faces
cmds.polySelectConstraint( m=3, t=8, tx=2 ) # to get non-mapped faces
cmds.polySelectConstraint( tx=0 ) # turn off face mapping constraint
cmds.delete( 'plg' )

#face topology
cmds.polyCreateFacet( n='plg', p=((-3, 3, 0),(-3, -3, 0),(3, -3, 0),(3, 3, 0)) )
cmds.polyAppend( a= [2, (8, -3, 0), (8, 3, 0)] )
cmds.polyAppend( a= (4, 6, 5 ) )
cmds.polyAppend( a =[0, (-7, 2, 0),(-7, -1, 0),(-8, 2, 0),(-5, 4, 0)] )
cmds.selectType( pf=True)
cmds.polySelectConstraint( m=3, t=8, tp=1 ) # to get non triangulatable faces
cmds.polySelectConstraint( m=3, t=8, tp=2 ) # to get lamina faces
cmds.polySelectConstraint( tp=0 ) # turn off the face topology constraint
cmds.delete( 'plg' )

#<b>Length</b>
cmds.polyCylinder( n='plg', sz=1, h=3 )
cmds.selectType( pe=True )
cmds.polySelectConstraint( m=3, t=0x8000, l=True, lb=(2, 4) ) # to get edges of length 2 to 4 units
cmds.polySelectConstraint( m=3, t=0x8000, l=True, lb=(1, 2) ) # to get edges of length 1 to 2 units
cmds.polySelectConstraint( l=False ) # turn off the length constraint
cmds.delete( 'plg' )

#<b>Angle</b>
cmds.polyCube( n='plg', w=5, h=5, d=5 )
cmds.polyBevel( 'plg.e[7]', sg=1 )
cmds.polyBevel( 'plg.e[9]', sg=3 )
cmds.selectType( pe=True )
cmds.polySelectConstraint( m=3, t=0x8000, a=True, ab=(0, 89) ) # to get edges with angle between 0-89
cmds.polySelectConstraint( m=3, t=0x8000, a=True, ab=(45, 89) ) # to get edges with angle between 45-89
cmds.polySelectConstraint( a=False ) # turn off angle constraint
cmds.delete( 'plg' )

#<b>3D Area</b>
cmds.polyPlane( n='plg', w=5, h=5 )
cmds.polyMoveFacet( 'plg.f[70:79]', ls=(.5, .5, 0) )
cmds.selectType( pf=True )
cmds.polySelectConstraint( m=3, t=8, ga=True, gab=(0, 0.2) ) # to get faces with area between 0 and 0.2
cmds.polySelectConstraint( m=3, t=8, ga=True, gab=(0.2, 0.3) ) # to get faces with area between 0 and 0.2
cmds.polySelectConstraint( ga=False ) # turn off 3D area constraint
cmds.delete( 'plg' )

#<b>2D area</b>
cmds.polyCylinder( n='plg' )
cmds.selectType( pf=True )
cmds.polySelectConstraint( m=3, t=8, ta=True, tab=(0, 0.5) ) # to get face with texture area between 0-0.5
cmds.polySelectConstraint( ta=True ) # turn off the 2D area constraint
cmds.delete( 'plg' )

#<b>Distance</b>
cmds.polyPlane( n='plg', w=5, h=5 )
cmds.selectType( pv=True )
cmds.polySelectConstraint( m=3, t=1, d=1, db=(0, 5), dp=(5, 0, 0) ) # to get vertices located
# between 0-5 units from a given point
cmds.polySelectConstraint( m=3, t=1, d=1, db=(5, 5), dp=(5, 0, 0) ) # to get vertices located
# at exactly 5 units from a given point
cmds.polySelectConstraint( m=3, t=1, d=2, db=(5, 6), dp=(5, 0, 0) ) # to get vertices located
# between 5-6 units from a given axis
cmds.polySelectConstraint( d=0 )# turn off the distance constraint
cmds.delete( 'plg' )

#<b>Orientation</b>
cmds.polySphere( n='plg' )
cmds.selectType( pv=True' )
cmds.polySelectConstraint( m=3, t=1, o=1, ob=(0, 30), oa=(0, 1, 0) )# to get vertices oriented between
# 0-30 degree to a given axis
cmds.polySelectConstraint( m=3, t=1, o=2, ob=(0, 30), oa=(0, 1, 0) )
cmds.polySelectConstraint( o=0 )# turn off the orintation constraint
cmds.delete( 'plg' )

#<b>Order (Neighbor)</b>
cmds.polyPlane( n='plg', w=5, h=5 )
cmds.selectType( pv=True )
cmds.polySelectConstraint( m=3, t=1, order=True, orb=(0, 2) ) # to get vertices with 0 to 2 neighbors
cmds.polySelectConstraint( order=False ) # turn off the order (neighbor) constraint
cmds.delete( 'plg' )

#<b>Visibility</b>
cmds.polySphere( n='plg' )
cmds.selectType( pv=True )
cmds.polySelectConstraint( m=3, t=1, v=True, va=60, vp=(10, 0, 0) ) # to get vertices in the 60 degree angle from a given point
cmds.polySelectConstraint( v=False ) # turn off the visbility constraint
cmds.delete( 'plg' )

#<b>Random</b>
cmds.polyPlane( n='plg', w=5, h=5 )
cmds.selectType( pv=True )
cmds.polySelectConstraint( m=3, t=1, r=True, rr=.5 )
cmds.polySelectConstraint( r= False ) # turn off the random constraint
cmds.delete( 'plg' )

# NOTE: Make sure you turn off the constraint you have used. Otherwise it may
# affect your next selection (if <i>mode</i> flag is ON).