Вызов скрипта 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

Другие вопросы по тегам