Вызов скрипта MEL из Python - произошла ошибка во время исполнения скрипта MEL
Я пытаюсь создать простой скрипт Python, который будет вызывать MEL-скрипт из Maya для создания куба. Ура! Должно быть довольно простым, хотя я, возможно, неправильно понял синтаксис исходных файлов.
Вот что у меня есть:
Python-файл runMEL.py: импортировать maya.mel as mel
def runMEL():
print ("Running MEL from Python!")
mel.eval('"source D:\Maya_Python\myMELScript.mel;"') # source of the file
mel.eval("myMELScript;") #name of the function
runMEL() # call the function above
И сценарий MEL myMELScript.mel
global proc myMELScript()
// call a MEL script with Python
{
polyCube -w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0 -cuv 4 -ch 1;
print("MEL just made a cube!");
}
Я получаю следующее из консоли:
Running MEL from Python!
// Error: "source D:\Maya_Python\myMELScript.mel;"; //
// Error: Line 1.40: Syntax error //
# Error: RuntimeError: file <maya console> line 5: Error occurred during execution of MEL script
Line 1.40: Syntax error #
1 ответ
Решение
Вы почти правильно поняли, вы должны пройти путь в виде строки и избежать его. Кроме того, Мел привередлив с форвардом /
и назад \
косая черта, это ожидает /
Что должно сделать:
mel.eval('source "D:/Maya_Python/myMELScript.mel"')
Примечание: обычно в python вы можете написать свой путь, а также
D:\\Maya_Python\\myMELScript.mel
но Мэл не достаточно умен, поэтому он избежит символа escape:D