I am trying to ‘extract and convert’ all the edges of the polygon (based on selection) into curves, then parent the curves as one. This is like a curve-based wireframe model.
While Maya has a functionality that allows all edges to be converted into curves, but the functionality - “Polygon Edges to Curves”, it works but not very ideal in my case as I would want all the created curves to be combined into one.
import maya.cmds as cmds import pymel.core as pm edges = cmds.filterExpand(cmds.polyListComponentConversion(te=1),sm=32,ex=1) cur_list =  for edge in edges: vtx = cmds.ls(cmds.polyListComponentConversion(edge,fe=1,tv=1),fl=1) p1 = cmds.pointPosition(vtx) p2 = cmds.pointPosition(vtx) created_curve = cmds.curve(d=1,p=(p1,p2)) cur_list.append(created_curve) # Select all the newly created curves for cur in cur_list: cmds.select(cur, add=True) # Get list of objects shape_list = pm.ls(pm.listRelatives(c=True)) grp_list = pm.ls(pm.group(em=True, n='curve#')) list_all =  for obj in grp_list: list_all.extend(shape_list) list_all.extend(grp_list) # Parent (shape) objects to one Curve pm.select(list_all) pm.parent(r=True, s=True)
While this code of mine does work, but if I tried to use it on a higher subdivision polygon, for example, create a normal pSphere and sets both its “Subdivisions Axis” and “Subdivisions Height” to 100, and execute the code I wrote.
What happens here is that:
- Maya seems to be hanging
- Took a very long while to be process (seems to be more than 1 hour plus before that current maya session of mine crashes.)
What can be done to minimize this long processing time? I am assuming that part of this ‘long’ time is due to the commands that I am using it to derive the vertex and creating them?