Maya Python 引用选项菜单返回为不存在



我正在尝试编写一个脚本,该脚本在选择关节的情况下按下按钮时,将从选定的关节复制转换值,然后创建从选项菜单中选择的控制器。我的问题是获取代码以读取选项菜单。我已经尝试了几种变体,并且都说没有带有所选名称的选项菜单。

代码如下....

import maya.cmds as maya
def testWin():
    winName = maya.window(title="test", rtf = True, mxb = False)
    maya.columnLayout()
    maya.button(label = "run test", c = "test()")
    shapeMenu = maya.optionMenu( label='Shape Menu', changeCommand="test()" )
    maya.menuItem( label='Circle' )
    maya.menuItem( label='Square' )
    maya.menuItem( label='Triangle' )
    maya.showWindow(winName)
testWin()
def test():
    sel = maya.ls(type = "joint", sl=True)
    if not sel:
        print "select at least 1 JOINT"
    else:
        new_pos = maya.xform(q=True, t=True, ws=True)
        new_rot = maya.xform(q=True, rotation=True, ws=True)
        shape = maya.optionMenu("Shape Menu", q = True, value = True)
        if shape == "Circle":
            new_control = maya.circle(center = new_pos)
        elif shape == "Square":
            new_control = maya.nurbsSquare(center = new_pos)
        elif shape == "Triangle":
            new_control = maya.circle(center = new_pos, degree = 1, sections = 3)

您无法确定 Maya 是否会为您提供创建 GUI 对象时要求的名称 - 在这种情况下,它永远不会起作用,因为返回的名称将没有空格。

您应该通过从testWin()函数返回shapeMenu值来捕获选项菜单的名称,然后在test()函数中使用它

最新更新