ジャンプ先: 概要. 戻り値. フラグ. 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 create
新しく作成するノードの名前を設定します。ネームスペース パスを含む場合、指定されたネームスペースの下に新しいノードが作成されます。ネームスペースが存在しない場合は、ネームスペースが作成されます。
constructionHistory(ch) boolean create
コンストラクション ヒストリをオンまたはオフにします。
object(o) boolean create
結果のオブジェクト、またはディペンデンシー ノードのみを作成します。
append(a) boolean create
true にすると、既存のラウンド ディペンデンシー ノードにエッジ ペアが追加されます。既定は false です。このフラグを true にする場合は、既存のラウンド ディペンデンシー ノードを指定する必要があります。下の例を参照してください。
radiuss(rad) linear createmultiuse
このフラグで半径を指定します。このフラグは「r/radius」フラグをオーバーライドします。使用する「rad」フラグが 1 つだけの場合は、すべてのエッジ ペアに適用されます。複数の「rad」フラグを使用する場合は、「-rad」フラグの数とエッジ ペアの数が同じでなければなりません。たとえば、4 つのエッジ ペアがある場合、指定できる「rad」フラグの数は 0 個、1 個、4 個のいずれかです。
sidea(sa) int createmultiuse
次の「-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 createmultiuse
「-sa」フラグと共に複合エッジに使用します。「-sa」フラグの説明を参照してください。このフラグは Python では使用できません。「side」フラグを参照してください。
side(s) [string, int] createmultiuse
このフラグは複合エッジに使用します。このフラグは 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)] )

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

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