在Maya 2018中,使用Python,如何检查属性编辑器是否打开,如果没有打开,则将其打开。另外,您可以打开属性编辑器的多个实例,最好显示不同节点的属性吗?
答案 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,因为它必须作为字符串求值。