Я новичок в MEL, и когда я изучал этот сценарий MEL, я обнаружил, что пользователь написал несколько строк, которые я совершенно не понимаю. И все же мне интересно узнать, почему этот человек сделал это..
В любом случае, может ли кто-нибудь объяснить, почему следующий код сначала указывает пустой MEL, а затем вызывает Python? Не проще ли просто поставить Python?
Я также пытался отключить команду и sourceType, и скрипт тоже работает нормально, просто я не понимаю, для чего в этом случае делают command
и sourceType
...
-command ""
-sourceType "mel"
-actionIsSubstitute 0
-commandRepeatable 1
("shelfBtn_" + $parent + "_AOV");
python("import aovsFunction as aovs; aovs.MenuFuncs.aovMenu('"+"shelfBtn_" + $parent + "_AOV"+"')");
Кстати, $parent
происходит от:
global proc apkg2dnc(string $parent)
Затем я попытался изменить код на следующий, он работает так же, как и выше, но...
-command ("import aovsFunction as aovs; aovs.MenuFuncs.aovMenu('"+"shelfBtn_" + $parent + "_AOV"+"')")
-sourceType "python"
Когда я попытался удалить скобки, мне было выдано сообщение об ошибке синтаксиса, указывающее на первый встреченный знак плюс +
. Пытался добавить ;
в конец строки, он по-прежнему выдает синтаксическую ошибку, на этот раз указывая в начале строки
-command "import aovsFunction as aovs; aovs.MenuFuncs.aovMenu('" + "shelfBtn_" + $parent + "_AOV" + "')"
-sourceType "python"
Итак, играют ли скобки большую роль в том, как это читается в MEL?