pymel.core.modeling.curveIntersect

curveIntersect(*args, **kwargs)

You must specify two curves to intersect. This command either returns the parameter values at which the given pair of curves intersect, or returns a dependency node that provides the intersection information. If you want to find the intersection of the curves in a specific direction you must use BOTH the -useDirectionflag and the directionflag.

Flags:

Long Name / Short Name Argument Types Properties
caching / cch bool  
   
constructionHistory / ch bool ../../../_images/create.gif
  Turn the construction history on or off.
direction / d float, float, float ../../../_images/query.gif ../../../_images/edit.gif
  The direction that the input curves are projected in before intersecting. This vector is only used if useDirectionflag is true.
directionX / dx float  
   
directionY / dy float  
   
directionZ / dz float  
   
frozen / fzn bool  
   
nodeState / nds int  
   
tolerance / tol float ../../../_images/query.gif ../../../_images/edit.gif
  The tolerance that the intersection is calculated with. For example, given two curves end-to-end, the ends must be within tolerance for an intersection to be returned. Default:0.001
useDirection / ud bool ../../../_images/query.gif ../../../_images/edit.gif
  If true, use direction flag. The input curves are first projected in a specified direction and then intersected. If false, this command will only find true 3D intersections. Default:false Flag can have multiple arguments, passed either as a tuple or a list.

Derived from mel command maya.cmds.curveIntersect

Example:

import pymel.core as pm

pm.curveIntersect( 'curve1', 'curve2' )
# Returns the parameter values that the curves intersect at.
# eg. if 6 parameter values are returned, the first 3 are
# on curve1 and the last 3 are on curve2.


pm.curveIntersect( 'curve1', 'curve2', useDirection=True, direction=(0, 1, 0) )
# Returns the parameter values that the curves intersect at
# when projected along vector (0, 1, 0).  This is useful
# for example when you are viewing the two curves in an orthographic
# view and the curves appear to intersect, even though
# they do not intersect in 3D.

node = pm.curveIntersect('curve1', 'curve2', ch= True)
p1 = pm.getAttr(node + ".parameter1" )   # or use ".p1"
p2 = pm.getAttr(node + ".parameter2" )   # or use ".p2"
# Returns a string which is the name of a new curveIntersect
# dependency node.
# The "getAttr" commands return the parameter values at
# which the curves intersect each other.