0

考虑以下简单的 PyMEL 脚本。它基本上调用了现有的 MEL 函数。

from pymel import *

message = "Are you sure you want to clean the scene? (Nodes will be removed.)"
do_clean = core.windows.confirmBox("Scene clean", message)

if do_clean:
    result = mel.eval("MLdeleteUnused()")

print(result)

“结果”包含从场景中删除的节点数,而不是删除了哪些节点。但是,在脚本编辑器中,当我调用脚本时会看到以下输出:

delete "edit_example_20160209_1"; # < can I get this output?
delete "edit_screenshot_1";
delete "place2dTexture1";
delete "place2dTexture2";
4 # < output from my print statement

我可以访问此输出,以便将其显示给用户(无需他们自己查看脚本编辑器)吗?

4

1 回答 1

1

您可以查看其中的MLdeleteUnused()工作 方式<path_to_your_maya_install/scripts/others/MLdeleteUnused.mel 看起来该命令的 UI 版本正在调用一个进度函数,该函数执行实际打印结果,但它不返回值——它基本上只是在运行时将它们打印出来

于 2016-02-10T19:04:26.053 回答