Как получить имя файла, который будет открыт в обратном вызове Maya: kBeforeOpen - PullRequest
0 голосов
/ 25 мая 2018

Я хочу знать имя файла, которое будет открыто перед открытием.

Может иметь обратный вызов: kBeforeOpen

Но когда я пытаюсь прочитать имя файла в функции обратного вызова - я получаюимя текущего файла, но не файл, который будет открыт.

def before(*args, **kwargs):
    print('scene_name', cmds.file(q=True, sn=True))

om.MSceneMessage.addCallback(om.MSceneMessage.kBeforeOpen, before)

в пустой сцене я пытаюсь открыть файл: "C:/tmp/pen_01.mb".

log сообщил мне, что команда file -o "C:/tmp/pen_01.mb" запускается, а затем запускается обратный вызов

>>> file -options "v=0;" -typ "mayaBinary" -o "C:/tmp/pen_01.mb";
>>> ('scene_name', u'')

Как видите, функция читает текущее имя файла (пусто).

Какв функции обратного вызова прочитайте информацию о том, что именно будет открыто?

1 Ответ

0 голосов
/ 25 мая 2018

В OpenMaya вы можете сделать:

OpenMaya.MFileIO.beforeOpenFilename()
...