Maya python打开属性编辑器的另一个实例

时间:2018-09-26 02:46:22

标签: python maya

在Maya 2018中,使用Python,如何检查属性编辑器是否打开,如果没有打开,则将其打开。另外,您可以打开属性编辑器的多个实例,最好显示不同节点的属性吗?

1 个答案:

答案 0 :(得分:1)

如果您要查看某些代码,建议您打开“ echo all command”。 打开属性编辑器会给您回声:

attributeEditorVisibilityStateChange(`workspaceControl -q -visible AttributeEditor`, "");

在此命令中,您已经可以猜到:

`workspaceControl -q -visible AttributeEditor`

这是查询属性编辑器可见性的部分,在python中是一个简单的翻译:

cmds.workspaceControl('AttributeEditor', q=1, visible=1)

然后您具有此mel功能:

attributeEditorVisibilityStateChange

在Mel中,您可以使用此命令查找该过程所属的位置:

whatIs attributeEditorVisibilityStateChange;
// Result: Mel procedure found in: D:\maya_path\scripts\startup\initAttributeEditor.mel // 

打开文件并阅读第一个过程,您已经发现:showAttributeEditor

此函数被评论为过时,建议使用:ToggleAttributeEditor

快速进行操作,我发现它是一个运行时命令(因此应立即使用):

cmds.ToggleAttributeEditor()

您应该有打开答案,并检查atrribute编辑器是否仍然存在,如果该命令不是您想要的命令,因为您想要某种对接功能,那么使用whatIs可以读取更多的MEL;和文件中的第二个proc。

现在,我已经向您解释了查找python命令的方法,我认为您可以使用相同的技术为属性编辑器的“复制选项卡”创建函数!

如果您发现这很烦人(maya有时有很多嵌套代码,并且可能很麻烦),则可以使用:

import maya.mel
mel.eval('attributeEditorVisibilityStateChange(`workspaceControl -q -visible AttributeEditor`, "");')

它将在python内部执行mel代码。您可以使用python格式插入参数... etc,因为它必须作为字符串求值。