python:polySplitRing插入,在多条边上具有边流
我是一个真正的PythonNoob(已经玩了大约一周了),但我真的很喜欢精简我的一些Maya工具。我现在有点困在下面; 我正在尝试使用“边流插入”获取polySplitRing,以处理多条边的选择。我可以让它在一条边上工作,但我不能让它在多条边上工作。我正在尝试使用列表,但我需要比它更好的东西。尝试搜索相同的问题,但没有找到任何内容(也不确定要搜索的确切内容)。如果有这样的设置文件,请链接 以下是在单条边选择上效果良好的方法:python:polySplitRing插入,在多条边上具有边流,python,maya,mel,Python,Maya,Mel,我是一个真正的PythonNoob(已经玩了大约一周了),但我真的很喜欢精简我的一些Maya工具。我现在有点困在下面; 我正在尝试使用“边流插入”获取polySplitRing,以处理多条边的选择。我可以让它在一条边上工作,但我不能让它在多条边上工作。我正在尝试使用列表,但我需要比它更好的东西。尝试搜索相同的问题,但没有找到任何内容(也不确定要搜索的确切内容)。如果有这样的设置文件,请链接 以下是在单条边选择上效果良好的方法: 单边选择: import maya.cmds as cmds imp
单边选择:
import maya.cmds as cmds
import maya.mel as mm
mm.eval("polySelectSp -ring;")
cmds.polySplitRing(ief=True, cch=1)
下面是我为多重边缘解决方案所做的工作
import maya.cmds as cmds
import maya.mel as mm
sel=cmds.ls(sl=1)
edgeCount = cmds.polyEvaluate(ec=True)
print edgeCount
edgeList = [edgeCount]
print edgeList
for each in edgeList:
mm.eval("polySelectSp -ring;")
cmds.polySplitRing(ief=True, cch=1)
mm.eval("polySelectSp -ring;")
cmds.polySplitRing(ief=True, cch=1)
干杯 首先,您不需要特别使用mel模块,您可以在Python中执行相同的操作(更好) 然后,只需创建一个选定边的列表,并对每个边应用分割
import maya.cmds as cmds
selEdges = cmds.ls(selection = True)
for edge in selEdges:
# Find edge Id
edgeId = int(edge.split('[')[-1][:-1]) # Should be better with a regex, I know...
# Apply split on this particular edge thanks to edge Id
cmds.polySelect(edgeRing = edgeId)
cmds.polySplitRing(ief = True)