Go to: Synopsis. Return value. Flags. Python examples.
roundConstantRadius(
string string [string string]
, [append=boolean], [constructionHistory=boolean], [name=string], [object=boolean], [radiuss=linear], [side=[string, int]], [sidea=int], [sideb=int])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
roundConstantRadius is undoable, queryable, and editable.
This command generates constant radius NURBS fillets and NURBS
corner surfaces for matching edge pairs on NURBS surfaces. An
edge pair is a matching pair of surface isoparms or trim edges.
This command
can handle more than one edge pair at a time.
This command can also handle compound edges, which is where an edge
pair is composed of more than two surfaces. Use the "-sa" and "-sb"
flags in this case.
The results from this command are three surface var groups plus the
name of the new roundConstantRadius dependency node, if history was on.
The 1st var group contains trimmed copies of the original surfaces. The 2nd
var group contains the new NURBS fillet surfaces. The 3rd var group
contains the new NURBS corners (if any).
A simple example of an edge pair is an edge of a NURBS cube,
where two faces of the cube meet. This command generates a NURBS
fillet at the edge and trims back the faces.
Another example is a NURBS cylinder with a planar trim surface cap.
This command will create a NURBS fillet where the cap meets the
the cylinder and will trim back the cap and the cylinder.
Another example involves all 12 edges of a NURBS cube. NURBS fillets
are created where any face meets another face. NURBS corners are
created whenever 3 edges meet at a corner.
string[] | (resulting NURBS surfaces' names and node name) |
In query mode, return type is based on queried flag.
append, constructionHistory, name, object, radiuss, side, sidea, sideb
Long name (short name) |
Argument types |
Properties |
Common flags |
name(n)
|
string
|
|
|
Sets the name of the newly-created node. If it contains
namespace path, the new node will be created under the
specified namespace; if the namespace does not exist, it
will be created.
|
|
constructionHistory(ch)
|
boolean
|
|
|
Turn the construction history on or off
|
|
object(o)
|
boolean
|
|
|
Create the result, or just the dependency node
|
|
append(a)
|
boolean
|
|
|
If true, then an edge pair is being added to an existing
round dependency node. Default is false. You must
specify an existing round dependency node when this flag
is true. See example below.
|
|
radiuss(rad)
|
linear
|
|
|
Use this flag to specify radius. This overrides the
"r/radius" flag. If only one "rad" flag is used,
then it is applied to all edge pairs. If >1 "rad" flag is used,
then the number of "-rad" flags must equal the number
of edge pairs. For example, for four edge pairs, you
must specify zero, one or four "rad" flags.
|
|
sidea(sa)
|
int
|
|
|
Use this flag for compound edges in conjunction with the
following "-sb" flag.
This flag is not intended for use from Python. Please see "side" flag instead.
You must specify the same number of "-sa" flags as "-sb" flags.
If no "-sa" nor "-sb" flags are specified, then the edges
are assumed to be in pairs.
See also examples below.
For example, two faces of a cube meet at an edge pair.
Suppose one of the faces is then split in two pieces
at the middle of the edge, so that there is one
face on side "A", and two pieces on side "B". In this case
you would use the flag combination: -sidea 1 -sideb 2.
You must specify the edges in the corresponding order:
roundConstantRadius -sidea 1 -sideb 2 isoA isoB1 isoB2;
|
|
sideb(sb)
|
int
|
|
|
Use this flag for compound edges in conjunction with the
"-sa" flag. See description for the "-sa" flag.
This flag is not intended for use from Python. Please see "side" flag instead.
|
|
side(s)
|
[string, int]
|
|
|
Use this flag for compound edges. It replaces the sidea/sideb flags and is
compatible with Python.
The first argument must be either "a" or "b".
You must specify the same number of "a" values as "b" values.
If no sides are specified with the "side" flag (or sidea/sideb flags), then
the edges are assumed to be in pairs.
See also examples below.
For example, two faces of a cube meet at an edge pair.
Suppose one of the faces is then split in two pieces
at the middle of the edge, so that there is one
face on side "A", and two pieces on side "B". In this case
you would use the flag combination: -side "a" 1 -side "b" 2.
You must specify the edges in the corresponding order:
// MEL
roundConstantRadius -side "a" 1 -side "b" 2 isoA isoB1 isoB2;
# Python
maya.cmds.roundConstantRadius( 'isoA', 'isoB1', 'isoB2', side=[("a",1), ("b",2)] )
|
|
Flag can appear in Create mode of command
|
Flag can appear in Edit mode of command
|
Flag can appear in Query mode of command
|
Flag can have multiple arguments, passed either as a tuple or a list.
|
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)] )