ジャンプ先: 概要. 戻り値. フラグ. 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
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
共通のフラグ
append(a) boolean create
true にすると、既存のラウンド ディペンデンシー ノードにエッジ ペアが追加されます。既定は false です。このフラグを true にした場合は、既存のラウンド ディペンデンシー ノードを指定する必要があります。下の例を参照してください。
constructionHistory(ch) boolean create
コンストラクション ヒストリをオンまたはオフにします。
name(n) string create
新しく作成するノードの名前を設定します。ネームスペース パスを含む場合、指定されたネームスペースの下に新しいノードが作成されます。ネームスペースが存在しない場合は、ネームスペースが作成されます。
object(o) boolean create
結果のオブジェクト、またはディペンデンシー ノードのみを作成します。
radiuss(rad) linear createmultiuse
このフラグで半径を指定します。このフラグは「r/radius」フラグをオーバーライドします。使用する「rad」フラグが 1 つだけの場合は、すべてのエッジ ペアに適用されます。複数の「rad」フラグを使用する場合は、「-rad」フラグの数とエッジ ペアの数が同じでなければなりません。たとえば、4 つのエッジ ペアがある場合、ゼロ、1、または 4 の「rad」フラグを指定する必要があります。
side(s) [string, int] createmultiuse
このフラグは複合エッジに使用します。このフラグは sidea/sideb フラグの代わりに使用され、Python と互換性があります。最初の引数は「a」または「b」にする必要があります。「b」値と同じ数の「a」値を指定する必要があります。「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)] )
sidea(sa) int createmultiuse
次の「-sb」フラグと共に、複合エッジに使用します。このフラグは Python では使用できません。「side」フラグを参照してください。「-sb」フラグと同じ数の「-sa」フラグを指定する必要があります。「-sa」フラグも「-sb」フラグも指定しないと、エッジはペアであると仮定されます。下の例を参照してください。たとえば、立方体の 2 つのフェースはエッジ ペアで合っています。この場合に、片方のフェースがエッジの中間で 2 つに分割され、サイド「A」にはフェースが 1 つ、サイド「B」には 2 つの断片が存在するとします。この場合、フラグの組み合わせには、-sidea 1 -sideb 2 を使用します。対応する順序でエッジを指定する必要があります。roundConstantRadius -sidea 1 -sideb 2 isoA isoB1 isoB2;
sideb(sb) int createmultiuse
「-sa」フラグと共に複合エッジに使用します。「-sa」フラグの説明を参照してください。このフラグは Python では使用できません。「side」フラグを参照してください。

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

Python 例

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)] )