可以运行延迟代码执行?

时间:2014-07-07 11:34:55

标签: python maya

运行脚本后是否可以自动运行一小段代码?

我问这个是因为出于某些原因,如果我将这组代码添加到主脚本中,虽然它可以正常工作,但它会显示一个选项卡错误列表(它已经存在,但是它说它无法找到它某种)。

我意识到在运行我的脚本后,Maya似乎正在加载'它自己的刷新设置,以及我公司完成的一些插件。因此,如果我在主脚本执行后运行一小组代码并且Maya / plugins'刷新',它可以正常运行。我想让这个过程尽可能自动化,如果可能的话,所有内容都在脚本中......

这样可以吗?像延迟编码方法? 仅供参考,主要脚本执行时间取决于场景中元素的数量。它越多,就需要更长的时间......

1 个答案:

答案 0 :(得分:2)

Maya有一个命令Maya.cmds.evalDeferred,用于此目的。它等待,直到Maya处理没有待处理,然后进行自我评估。

您也可以将Maya.cmds.scriptJob用于同一目的。

注意:虽然在Maya上下文中eval被认为是危险且不安全的,但它确实很正常。主要是因为Maya中的所有内容本质上都是不安全的,因为几乎所有GUI项都只是用户可以修改的eval命令。所以第二个你让任何人使用你的Maya shell都会破坏你的安全性。