在Maya中使用Python引用结果

在Maya中使用Python引用结果,python,scripting,maya,Python,Scripting,Maya,我一直在Maya中编写一个脚本,该脚本允许我在不必一直进入属性编辑器的情况下使用摄影机。目前,我有一个带有菜单项的菜单,在该菜单项中,复选框标志也处于活动状态。当切换复选框按钮时,它将运行一个命令,打印出复选框的结果。我想做的是有一个if语句,它将在任何摄影机中切换dof属性,但通过读取复选框标志的结果来实现这一点。我知道如何正确地使用if语句,也知道如何找到正确的摄像机,但我不知道如何查询结果。有些脚本在下面,第四行,即if语句,是我遇到问题的地方。谢谢你的帮助 #Window Functio

我一直在Maya中编写一个脚本,该脚本允许我在不必一直进入
属性编辑器的情况下使用摄影机。目前,我有一个带有菜单项的菜单,在该菜单项中,复选框标志也处于活动状态。当切换复选框按钮时,它将运行一个命令,打印出复选框的结果。我想做的是有一个
if语句
,它将在任何摄影机中切换
dof
属性,但通过读取复选框标志的结果来实现这一点。我知道如何正确地使用
if语句
,也知道如何找到正确的摄像机,但我不知道如何查询结果。有些脚本在下面,第四行,即
if语句
,是我遇到问题的地方。谢谢你的帮助

#Window Functions go here

def dofToggle(self):
    print(cmds.menuItem("dof", q=1, cb=1))

    # query the result
    if (cmds.menuItem("dof") == 1):
        cmds.setAttr(camera1.dof=True)

    # window settings go here
    if (cmds.window("Camera Tools", exists=True)):
        cmds.deleteUI("Camera Tools")

    cmds.window(title="Camera Tools", nestedDockingEnabled=True, rtf=True, sizeable=False, menuBar=True, menuBarResize=True, menuBarVisible=True)

    cmds.menu(label="dof")

    cmds.menuItem("dof", label="on/off", checkBox=True, command=dofToggle)

要获取相机的自由度,请使用以下命令:

import maya.cmds as cmds
print(cmds.camera('cameraShape1', q=True, dof=True))
cmds.camera('cameraShape1', e=True, dof=False)
要禁用相机的自由度,请使用以下命令:

import maya.cmds as cmds
print(cmds.camera('cameraShape1', q=True, dof=True))
cmds.camera('cameraShape1', e=True, dof=False)
因此,您的
if语句应该如下所示:

if(cmds.camera('cameraShape1', q=True, dof=True) == 1):
    cmds.camera('cameraShape1', e=True, dof=False)