从 PyMel 调用 MEL 脚本时,我可以报告更详细的结果吗?
Can I report more detailed results when invoking a MEL script from PyMel?
考虑以下简单的 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)
"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
我能否访问此输出以便将其显示给用户(无需他们自己查看脚本编辑器)?
您可以查看 MLdeleteUnused()
在 <path_to_your_maya_install/scripts/others/MLdeleteUnused.mel
中的工作方式 看起来 UI 版本的命令正在调用执行实际打印结果的进度函数,但是它没有 return 值——它基本上只是打印出来
考虑以下简单的 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)
"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
我能否访问此输出以便将其显示给用户(无需他们自己查看脚本编辑器)?
您可以查看 MLdeleteUnused()
在 <path_to_your_maya_install/scripts/others/MLdeleteUnused.mel
中的工作方式 看起来 UI 版本的命令正在调用执行实际打印结果的进度函数,但是它没有 return 值——它基本上只是打印出来