移動先: 概要 戻り値 フラグ 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)] )