【发布时间】:2020-03-11 06:12:53
【问题描述】:
我是 Python 的新手,我正在努力让我在 Maya 中的生活更轻松。我想我会尝试为我经常做的事情编写简单的循环。例如,重置所有枢轴。当我尝试运行它时,我收到此错误“# Error: TypeError: file line 6: 'NoneType' object is not iterable #”
from maya import cmds
def resetPivots():
selectAll = cmds.select(allDagObjects = True)
for obj in selectAll:
cmds.manipPivot(reset = True)
resetPivots()
任何帮助和解释将不胜感激。
:编辑:
事实证明,cmds.select(allDagObjects=True) 有一个 None 返回值,但您可以将选择输入到列表中。我已将代码更新为此,但我又卡住了:
from maya import cmds
def resetPivots(selection=False):
cmds.select(all = True)
selectAll = cmds.ls(sl = True, dag = True)
print(selectAll)
for obj in selectAll:
center=cmds.objectCenter(obj, gl = True)
print(center)
cmds.manipPivot(p = (center))
resetPivots()
所以,我得到了所有对象中心的坐标,但是当列表传递给 cmds.manipPivot() 时什么都没有发生
此外,对于我想要做的事情来说,这是否会变得太多?
【问题讨论】:
-
selectAll值为无。检查为什么cmds.select(allDagObjects=True)什么都不返回。