Множество команд задокументировано: https://help.autodesk.com/cloudhelp/2018/CHS/Maya-Tech-Docs/CommandsPython/polySelect.html
Множество примеров для каждой команды, а также некоторые флаги, такие как: -name
, если команда не появляется в этой документации, выможно набрать в mel:
whatIs commandName;
он даст вам путь к модулю
Также мне нравится использовать регулярное выражение, поэтому я включил здесь один, но вы можете удалить его, как я дал вамальтернативная строка 22 (она выглядит менее чистой, но работает)
import maya.cmds as cmds
# if using regex
import re
#Select meshes to use as a source for copying the curves.
# pSphere3 pSphere2 pSphere1
tarlist = cmds.ls(selection=True, fl=True)
#Select an edge within the selected meshes
# pSphere3.e[636]
edgelist = cmds.ls(selection=True, fl=True)
# Result: [u'e[636]'] #
indexes = [i.split('.')[-1] for i in edgelist]
# Result: [u'pSphere3.e[636]', u'pSphere2.e[636]', u'pSphere1.e[636]'] #
alledgelist = [t+'.'+i for i in indexes for t in tarlist]
# regex = `anyString`.e[`anyDigit`] \\ capture what is in ``
p = re.compile('(\w+).e\[(\d+)\]')
for e in alledgelist:
# without regex
name, id = e.replace('e[', '')[:-1].split('.')
# with regex
name, id = p.search(e).group(1), p.search(e).group(2)
edgeLoop = cmds.polySelect(name, el=int(id))
cmds.polyToCurve(form=2, degree=3, name='edgeLoop_{}_{}'.format(name, id))