How to connect some polytoCurve to one curve?


#1

here is the thing I wanna do:

  • I wanna change the selected edges to curve.

what I have done:

  • I get the seleced input by SeletedEdges = pm.selected()
  • Traverse the SeletedEdges and foreach do cmds.polyToCurve cmd which can apply to one edge which is continuous.
  • but finally I got the splited polytoCurve.

But I wanna change Connect them to one curve.

How can I do it?

My code:

import maya.cmds as cmds
import pymel.core as pm 
import math

def getUserSelectedEdgesAndNodes():
    #get the edge list
    SeletedEdges = pm.selected()
    print SeletedEdges
    #add to the list    
    EdgeList=[]
    NodeList=[]
    for edge in SeletedEdges:
        if type(edge).__name__ == 'MeshEdge':
            #EdgeList.append(edge)
            #NodeList.append(edge.node())
            print len(edge)            
            for e in edge:
                EdgeList.append(e)
                NodeList.append(e.node())
    return EdgeList,NodeList
        
def CopyUserSelectedEdges(list_edge):
    edgeCurveList = []
    for edge in list_edge:
        pm.select( clear=True )
        pm.select( edge,r=True )
        edgeCurve = cmds.polyToCurve(ch=False, form=2, degree=3)[0]
        edgeCurveList.append(edgeCurve)
    return edgeCurveList

def HideNodeList(list_node):
    for node in list_node:
        pm.select( clear=True )
        pm.select( node,r=True )
        pm.hide()

def SelectEdgeInList(list_edge):
    pm.select( clear=True )
    for edge in edgelist:
	    pm.select( edge,add=True )



#main
edgeList,nodeList=getUserSelectedEdgesAndNodes()

edgeList = CopyUserSelectedEdges(edgeList)

#HideNodeList(nodeList)

pm.select(clear=True)
for edge in edgeList:
    pm.select( edge,add=True )