References:
eval/evalDeferred/executeDeferred
- eval/evalDeferred/executeDeferred 是在 MEL 的 top level scope 執行, 所以 MEL 的 global variable 都可以讀的到.
- eval 是立刻執行, evalDeferred/executeDeferred 則是在 CPU process 有餘裕在執行, 後者容易因為執行順序不同而產生錯誤. 例外狀況是在 Maya startup 時, 要覆蓋掉 maya builtin commands, 用 evalDeferred 可以等 maya 本身的 procedure 都存到記憶體之後在執行, 進而達到 override 的效果. (實務上常會執行兩次)
- maya.utils.executeDeferred 是 evalDeferred 的 Python Alternative, 除了 string 以外它也接受 function(callable object)
|
|
catchQuiet(MEL)
- catchQuiet 等同於 python 的 try except
- catch 等同於 python 的 try