我将从以下位置学习Python for Maya教程:https://github.com/gyassa4/MayaPyth/blob/master/gear_builder.py 在我运行代码之后,它只运行first def(),它创建了一个齿数为10的齿轮。但是,它不会运行第二个def(),该def()会按照def changedeats(构造函数、挤出、齿数=25、长度=1)中的说明更改齿轮的齿数。我是否需要一个类来运行多个def()
import maya.cmds as cmds
def createGear(teeth=10, length=1):
spans = teeth * 2
transform, constructor = cmds.polyPipe(subdivisionsAxis=spans)
sideFaces = range(spans * 2, spans * 3, 2)
cmds.select(clear=True)
for face in sideFaces:
cmds.select('%s.f[%s]' % (transform, face), add = True)
extrude = cmds.polyExtrudeFacet(localTranslateZ = length)[0]
return transform, constructor, extrude
createGear()
def changeTeeth(constructor, extrude, teeth=25, length=1):
spans = teeth * 3
cmds.polyPipe(constructor, edit=True, subdivisionsAxis=spans)
sideFaces = range(spans * 2, spans * 3, 5)
faceNames = []
for face in sideFaces:
faceName = 'f[%s]' % (face)
faceNames.append(faceName)
cmds.setAttr('%s.inputComponents' % (extrude),
len(faceNames),*faceNames,type="componentList")
cmds.polyExtrudeFacet(contructor, extrude, edit=True, ltz=length)
这是运行第一个def
把这个放在末尾,然后运行第二个 请注意,其中两个参数是必需的,因为您已将默认值指定给:
相关问题 更多 >
编程相关推荐