Go to: Synopsis. Flags. Return value. Related. Python examples.
offsetCurveOnSurface(
[curve]
, [checkPoints=boolean], [connectBreaks=int], [constructionHistory=boolean], [curveOnSurface=boolean], [cutLoop=boolean], [distance=linear], [name=string], [object=boolean], [polygon=int], [range=boolean], [rebuild=boolean], [replaceOriginal=boolean], [stitch=boolean], [subdivisionDensity=int], [tolerance=linear])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
offsetCurveOnSurface is undoable, queryable, and editable.
The offsetCurveOnSurface command offsets a curve on surface resulting
in another curve on surface.
The connecting type for breaks in offsets is off (no connection),
circular (connect with an arc) or linear (connect linearly resulting
in a sharp corner). If loop cutting is on then any loops in the
offset curves are trimmed away and a sharp corner is created at each
intersection. The subdivisionDensity flag is the maximum
number of times the offset object can be subdivided (i.e. calculate
the offset until the offset comes within tolerance or the iteration
reaches this maximum.) The checkPoints flag sets the number of points
per span at which the distance of the offset curve from the original
curve is determined. The tolerance flag determines how accurately the
offset curve should satisfy the required offset distance. A satisfactory
offset curve is one for which all of the checkpoints are within the
given tolerance of the required offset.
checkPoints, connectBreaks, constructionHistory, curveOnSurface, cutLoop, distance, name, object, polygon, range, rebuild, replaceOriginal, stitch, subdivisionDensity, tolerance
Long name (short name) |
[argument types] |
Properties |
cutLoop(cl)
|
boolean
|

|
|
Do loop cutting?
Default: false
In query mode, this flag needs a value.
|
|
connectBreaks(cb)
|
int
|

|
|
Connect breaks method (between gaps):
0 - off,
1 - circular,
2 - linear
Default: 2
In query mode, this flag needs a value.
|
|
distance(d)
|
linear
|

|
|
Offset distance
Default: 1.0
In query mode, this flag needs a value.
|
|
tolerance(tol)
|
linear
|

|
|
Tolerance
Default: 0.01
In query mode, this flag needs a value.
|
|
subdivisionDensity(sd)
|
int
|

|
|
Maximum subdivision density per span
Default: 5
In query mode, this flag needs a value.
|
|
checkPoints(cp)
|
boolean
|

|
|
Checkpoints for fit quality per span. Not advisable to change this value.
Default: 3
In query mode, this flag needs a value.
|
|
stitch(st)
|
boolean
|

|
|
Stitch curve segments together. Not advisable to change this value.
Default: true
In query mode, this flag needs a value.
|
|
name(n)
|
string
|
|
|
Name the resulting object
|
|
constructionHistory(ch)
|
boolean
|
|
|
Turn the construction history on or off (not available in all commands)
|
|
object(o)
|
boolean
|
|
|
Create the result, or just the dependency node (not available in all commands)
|
|
replaceOriginal(rpo)
|
boolean
|
|
|
Create "in place" (i.e., replace) (not available in all commands)
|
|
curveOnSurface(cos)
|
boolean
|
|
|
If possible, create 2D curve as a result (not available in all commands)
|
|
polygon(po)
|
int
|
|
|
The value of this argument controls the type of the object
created by this operation (not available in all commands)
- 0: nurbs surface
- 1: polygon (use nurbsToPolygonsPref to set the parameters for the conversion)
- 2: subdivision surface (use nurbsToSubdivPref to set the parameters for the conversion)
- 3: Bezier surface
- 4: subdivision surface solid (use nurbsToSubdivPref to set the
parameters for the conversion)
|
|
range(rn)
|
boolean
|
|
|
Force a curve range on complete input curve (not available in all commands)
|
|
rebuild(rb)
|
boolean
|
|
|
Rebuild the input curve(s) before using them in the operation. Use nurbsCurveRebuildPref to set the parameters for the conversion. (not available in all commands)
|
|
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.
|
[string[]] (object name and node name)
offsetCurve
import maya.cmds as cmds
cmds.nurbsPlane( ch=True, o=True, po=0, ax=(0, 1, 0), w=10, lr=2 )
cmds.circle( ch=True, o=True, nr=(0, 1, 0), r=3 )
cmds.projectCurve( 'nurbsCircle1', 'nurbsPlane1', ch=0, rn=False, un=False, tol=0.01 )
# Offset given curve to the specified distance at the specified tolerance:
cmds.offsetCurveOnSurface( 'nurbsPlaneShape1->projectionCurve1_1', d=0.12, tol=0.02 )
# Create offsets for the specified curve and turn loop cutting off:
cmds.offsetCurveOnSurface( 'nurbsPlaneShape1->projectionCurve1_1', cl=False )
# Create offsets with circular arcs at the breaks in the curves and trim
# away any loops in the offset curve:
cmds.offsetCurveOnSurface( 'nurbsPlaneShape1->projectionCurve1_1', cb=1, cl=False )