在原始Python中替代cmds.xform

时间:2019-05-24 13:35:53

标签: python maya

我已经在Maya(python)中编写了一个代码,该代码为我提供了对象在Maya中的位置。如您在第一行中看到的那样,我导入了maya.cmds,在第二行中使用了它

import maya.cmds as cmds
a_end = cmds.xform('j_l_ankle', q=1, ws=1, t=1)

我希望在基本的python代码中具有相同的输出,而无需导入maya.cmds。那意味着我想在baisc python中找到 xform函数的替代版本

1 个答案:

答案 0 :(得分:0)

可以通过maya.cmds模块访问的

Maya Python,是一种 Python包装器,用于调用MEL方法。从字面上看,您正在使用某种Python语法调用MEL方法。这为您提供了使用Python的库在Maya中处理数据的好处(cmds.xform也不例外)。

大多数Maya嵌入式语言命令已在maya.cmds模块中实现。但是在某些情况下,必须仅在MEL之上使用MEL,因为Maya并未将Python完全纳入其体系结构的所有方面。而且,我应该说,Autodesk Maya会按程序将其所有MEL命令转换为Python。

因此Python的maya.cmds模块在​​很大程度上取决于本机MEL。所有本机Maya命令的 Python绑定 maya.cmds 模块中。为了访问这些命令,必须在每个会话中导入maya.cmds

xform命令示例:

MEL代码:

sphere -n Earth;
xform -r -ro 0 0 45;

等效于Python:

import maya.cmds as cmds

cmds.sphere(n = 'Earth')
cmds.xform(r = True, ro = (0, 0, 45))

如您所见,使用Python编写脚本时,必须通过maya.cmds模块与本机MEL命令进行通信。