pymel.core.modeling.offsetCurveOnSurface

offsetCurveOnSurface(*args, **kwargs)

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.

Flags:
Long name (short name) Argument Types Properties
caching (cch) bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Modifies the node caching mode. See the node documentation for more information.Note:For advanced users only.
checkPoints (cp) int ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Checkpoints for fit quality per span. Not advisable to change this value.Default:3
connectBreaks (cb) int ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Connect breaks method (between gaps): 0 - off, 1 - circular, 2 - linearDefault:2
constructionHistory (ch) bool ../../../_images/create.gif
 
Turn the construction history on or off
cutLoop (cl) bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Do loop cutting?Default:false
distance (d) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Offset distanceDefault:1.0
name (n) unicode ../../../_images/create.gif
 

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.

nodeState (nds) int ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Modifies the node state. See the node documentation for more information.Note:For advanced users only.Common flags
object (o) bool ../../../_images/create.gif
 
Create the result, or just the dependency node
range (rn) bool ../../../_images/create.gif
 
Force a curve range on complete input curveFlag can appear in Create mode of commandFlag can have multiple arguments, passed either as a tuple or a list.
stitch (st) bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Stitch curve segments together. Not advisable to change this value.Default:trueAdvanced flags
subdivisionDensity (sd) int ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Maximum subdivision density per spanDefault:5
tolerance (tol) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
ToleranceDefault:0.01

Derived from mel command maya.cmds.offsetCurveOnSurface

Example:

import pymel.core as pm

pm.nurbsPlane( ch=True, o=True, po=0, ax=(0, 1, 0), w=10, lr=2 )
# Result: [nt.Transform(u'nurbsPlane1'), nt.MakeNurbPlane(u'makeNurbPlane1')] #
pm.circle( ch=True, o=True, nr=(0, 1, 0), r=3 )
# Result: [nt.Transform(u'nurbsCircle1'), nt.MakeNurbCircle(u'makeNurbCircle1')] #
pm.projectCurve( 'nurbsCircle1', 'nurbsPlane1', ch=0, rn=False, un=False, tol=0.01 )
# Result: [nt.CurveVarGroup(u'nurbsPlaneShape1->projectionCurve1')] #

# Offset given curve to the specified distance at the specified tolerance:
pm.offsetCurveOnSurface( 'nurbsPlaneShape1-"projectionCurve1_1', d=0.12, tol=0.02 )

# Create offsets for the specified curve and turn loop cutting off:
pm.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:
pm.offsetCurveOnSurface( 'nurbsPlaneShape1-"projectionCurve1_1', cb=1, cl=False )

Previous topic

pymel.core.modeling.offsetCurve

Next topic

pymel.core.modeling.offsetSurface

Core

Core Modules

Other Modules

This Page