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.polyToCurvecmd 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 )