使用 Python 在 Maya 中切换 X 射线模式
Toggle X-Ray Mode in Maya using Python
我正在尝试将一些 Python 代码绑定到一个键,以便我可以在 Maya 中切换 X-Ray 模式。
让我感到困惑的一件事是,当我 运行 这行代码时...
def xrayQuery():
cmds.modelEditor('modelPanel4', q=True, xr=True)
xrayQuery()
即使我查询了 xray 模式,也没有返回任何结果。但是当我 运行 只是没有功能的命令时...
cmds.modelEditor('modelPanel4', q=True, xr=True)
我第一次得到了预期的结果,这是一个基于是否启用 xray 模式的布尔结果。谁能告诉我这是为什么?
我是 python Maya 的新手,非常感谢您的帮助!谢谢!
如果您希望 user-defined 函数return 输出与内部调用相同的输出,则需要调用 return。
如下所示:
def xrayQuery():
return cmds.modelEditor('modelPanel4', q=True, xr=True)
附带说明一下,如果您能解释编写函数而不是调用原始函数的目的,将有助于理解 use-case
所以我想出了一种方法来简化我试图实现的目标,这是几行代码来为特定视口打开和关闭 x-ray 视图模式。通过在此代码块中使用 'not' 运算符,我能够消除对 if else 语句的需要:
import maya.cmds as cmds
def xray_toggle():
result = cmds.modelEditor('modelPanel4', q=True, xr=True)
cmds.modelEditor('modelPanel4', e=True, xr=not result)
xray_toggle()
我正在尝试将一些 Python 代码绑定到一个键,以便我可以在 Maya 中切换 X-Ray 模式。
让我感到困惑的一件事是,当我 运行 这行代码时...
def xrayQuery():
cmds.modelEditor('modelPanel4', q=True, xr=True)
xrayQuery()
即使我查询了 xray 模式,也没有返回任何结果。但是当我 运行 只是没有功能的命令时...
cmds.modelEditor('modelPanel4', q=True, xr=True)
我第一次得到了预期的结果,这是一个基于是否启用 xray 模式的布尔结果。谁能告诉我这是为什么?
我是 python Maya 的新手,非常感谢您的帮助!谢谢!
如果您希望 user-defined 函数return 输出与内部调用相同的输出,则需要调用 return。 如下所示:
def xrayQuery():
return cmds.modelEditor('modelPanel4', q=True, xr=True)
附带说明一下,如果您能解释编写函数而不是调用原始函数的目的,将有助于理解 use-case
所以我想出了一种方法来简化我试图实现的目标,这是几行代码来为特定视口打开和关闭 x-ray 视图模式。通过在此代码块中使用 'not' 运算符,我能够消除对 if else 语句的需要:
import maya.cmds as cmds
def xray_toggle():
result = cmds.modelEditor('modelPanel4', q=True, xr=True)
cmds.modelEditor('modelPanel4', e=True, xr=not result)
xray_toggle()