ジャンプ先: 概要. 戻り値. フラグ. Python 例.
roundConstantRadius(
string string [string string]
, [append=boolean], [constructionHistory=boolean], [name=string], [object=boolean], [radiuss=linear], [side=[string, int]], [sidea=int], [sideb=int])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
roundConstantRadius は、取り消し可能、照会可能、および編集可能です。
NURBS サーフェス上で一致するエッジ ペアに対する一定半径 NURBS フィレットと NURBS コーナー サーフェスを生成します。エッジ ペアとは、サーフェスのアイソパラムかトリム エッジが一致するペアのことです。このコマンドは、複数のエッジ ペアを同時に処理できます。エッジペアが 2 つより多いサーフェスから構成される複合エッジも処理できます。この場合は、「-sa」フラグと「-sb」フラグを使用します。
このコマンドの結果、3 つのサーフェス var グループ、およびヒストリがオンになっている場合は新しい roundConstantRadius ディペンデンシー ノードの名前が生成されます。第 1 var グループには、オリジナル サーフェスのトリム済みコピーが含まれます。第 2 var グループには、新しい NURBS フィレット サーフェスが含まれます。第 3 var グループには、新しい NURBS コーナーが含まれます(存在する場合)。
エッジ ペアの単純な例として、立方体の 2 つのフェースが合う、NURBS 立方体のエッジが挙げられます。このコマンドは、エッジで NURBS フィレットを生成し、フェースをトリムします。
その他の例として、平面トリム サーフェス キャップがある NURBS 円柱が挙げられます。このコマンドは、キャップが円柱と合う場所で NURBS フィレットを作成し、キャップと円柱をトリムします。
別の例には、NURBS 立方体の 12 本すべてのエッジがあります。フェースが別のフェースと合う場所では、NURBS フィレットが作成されます。3 つのエッジが合うコーナーでは、NURBS コーナーが作成されます。
string[] | (生成される NURBS サーフェスの名前とノード名) |
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
append, constructionHistory, name, object, radiuss, side, sidea, sideb
ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
共通のフラグ |
name(n)
|
string
|
|
|
新しく作成するノードの名前を設定します。ネームスペース パスを含む場合、指定されたネームスペースの下に新しいノードが作成されます。ネームスペースが存在しない場合は、ネームスペースが作成されます。
|
|
constructionHistory(ch)
|
boolean
|
|
|
コンストラクション ヒストリをオンまたはオフにします。
|
|
object(o)
|
boolean
|
|
|
結果のオブジェクト、またはディペンデンシー ノードのみを作成します。
|
|
append(a)
|
boolean
|
|
|
true にすると、既存のラウンド ディペンデンシー ノードにエッジ ペアが追加されます。既定は false です。このフラグを true にする場合は、既存のラウンド ディペンデンシー ノードを指定する必要があります。下の例を参照してください。
|
|
radiuss(rad)
|
linear
|
|
|
このフラグで半径を指定します。このフラグは「r/radius」フラグをオーバーライドします。使用する「rad」フラグが 1 つだけの場合は、すべてのエッジ ペアに適用されます。複数の「rad」フラグを使用する場合は、「-rad」フラグの数とエッジ ペアの数が同じでなければなりません。たとえば、4 つのエッジ ペアがある場合、指定できる「rad」フラグの数は 0 個、1 個、4 個のいずれかです。
|
|
sidea(sa)
|
int
|
|
|
次の「-sb」フラグと共に、複合エッジに使用します。このフラグは Python では使用できません。「side」フラグを参照してください。「-sa」フラグと「-sb」フラグの数は一致させる必要があります。「-sa」フラグも「-sb」フラグも指定しないと、エッジはペアであると仮定されます。下の例を参照してください。たとえば、立方体の 2 つのフェースはエッジ ペアで合っています。この場合に、片方のフェースがエッジの中間で 2 つに分割され、サイド「A」にはフェースが 1 つ、サイド「B」には 2 つの断片が存在するとします。この場合は、フラグ コンビネーションを使用します。-sidea 1 -sideb 2 対応する順序でエッジを指定する必要があります。roundConstantRadius -sidea 1 -sideb 2 isoA isoB1 isoB2; のように指定してください。
|
|
sideb(sb)
|
int
|
|
|
「-sa」フラグと共に複合エッジに使用します。「-sa」フラグの説明を参照してください。このフラグは Python では使用できません。「side」フラグを参照してください。
|
|
side(s)
|
[string, int]
|
|
|
このフラグは複合エッジに使用します。このフラグは sidea/sideb フラグの代わりに使用され、Python と互換性があります。最初の引数は「a」または「b」にする必要があります。「a」の値と「b」の値の数は一致させる必要があります。「side」フラグ(または sidea/sideb フラグ)を使用してサイドを指定しないと、エッジはペアであると仮定されます。下の例を参照してください。たとえば、立方体の 2 つのフェースはエッジ ペアで合っています。この場合に、片方のフェースがエッジの中間で 2 つに分割され、サイド「A」にはフェースが 1 つ、サイド「B」には 2 つの断片が存在するとします。この場合は、フラグ コンビネーションを使用します。(-side "a" 1 -side "b" 2)。対応する順序でエッジを指定する必要があります。// MEL roundConstantRadius -side "a" 1 -side "b" 2 isoA isoB1 isoB2; # Python maya.cmds.roundConstantRadius( 'isoA', 'isoB1', 'isoB2', side=[("a",1), ("b",2)] )
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
# This rounds four edges of a cube with radius 0.9. Because a single
# radius is specified, it is used for all edges. The edges must
# be specified in matching pairs if no "sidea" or "sideb" flags
# are used.
#
cube = cmds.nurbsCube(w=5, lr=1, hr=1, d=3, ch=0)
sides = cmds.listRelatives( cube[0], c=True )
rnd = cmds.roundConstantRadius(
(sides[0] + ".v[0]"), (sides[2] + ".v[1]"),
(sides[0] + ".u[1]"), (sides[4] + ".v[1]"),
(sides[0] + ".v[1]"), (sides[3] + ".u[1]"),
(sides[0] + ".u[0]"), (sides[5] + ".u[1]"),
rad=0.9 )
# This adds a pair of isoparms to an existing round operation,
# named $rnd[3] (from previous example)
#
cmds.roundConstantRadius( (sides[3] + '.v[0]'), (sides[5] + '.v[1]'),
rnd[3], append=True, rad=0.8 )
# This rounds 6 edges of a cube with different radius values.
# The first four edges have radius 0.9 and the others have radius 1.1.
# In this case the edges are specified in matching pairs
# since no "sidea" or "sideb" flags are used.
#
cube = cmds.nurbsCube( w=5, lr=1, hr=1, d=3, ch=0 )
sides = cmds.listRelatives( cube[0], c=True )
cmds.roundConstantRadius( (sides[0]+".v[0]"), (sides[2]+".v[1]"),
(sides[0]+".u[1]"), (sides[4]+".v[1]"),
(sides[0]+".v[1]"), (sides[3]+".u[1]"),
(sides[0]+".u[0]"), (sides[5]+".u[1]"),
(sides[3]+".v[0]"), (sides[5]+".v[1]"),
(sides[2]+".u[1]"), (sides[4]+".u[0]"),
rad=[0.9, 0.9, 0.9, 0.9, 1.1, 1.1] )
# This rounds a 2-to-1 compound edge. The sidea flag indicates
# that there two edges on side A, and one on side B.
# The edges must be specified in the corresponding order.
#
pln1 = cmds.nurbsPlane(w=5, ch=0, ax=(0, 1, 0))
pln2 = cmds.nurbsPlane( p=(2.5, 2.5, 1.25), ax=(1, 0, 0), w=2.5, lr=2, d=3, u=1, v=1, ch=0 )
pln3 = cmds.nurbsPlane( p=(2.5, 2.5, -1.25), ax=(1, 0, 0), w=2.5, lr=2, d=3, u=1, v=1, ch=0 )
pln4 = cmds.nurbsPlane( p=(0, 2.5, -2.5), ax=(0, 0, 1), w=5, lr=1, d=3, u=1, v=1, ch=0 )
cmds.roundConstantRadius( (pln2[0]+'.v[0]'), (pln3[0]+'.v[0]'),
(pln1[0]+'.u[1]'), (pln3[0]+'.u[1]'),
(pln4[0]+'.u[1]'), rad=0.9,
side=[('a',2), ('b', 1), ('a', 1), ('b', 1)] )