3dsmax: как использовать cmd для имитации перетаскивания mxs из проводника в 3dsMax?

Я надеюсь найти более простой способ «отправить» maxscripts в max извне, чтобы обновить диапазоны кадров и некоторые другие элементы.

Я написал поплавок для большинства наших основных инструментов mxs, но хотел иметь дополнительную гибкость для сценариев, которые мы могли бы генерировать из внешних приложений, а затем «внедрять» в Max. Надеялся использовать вызов командной строки для «перетаскивания» файла .ms.

Я вижу темы (и в документах), где обсуждается внутренний DnD макса, но застрял на пути снаружи внутрь, заранее спасибо за любую помощь!


person Eric Hance    schedule 21.01.2015    source источник
comment
Вы имеете в виду что-то вроде 3dsmax -U MAXScript rendercams.ms (например, Запуск скриптов из командной строки)?   -  person Swordslayer    schedule 22.01.2015
comment
@swordslayer: Спасибо за вопрос, но я надеюсь отправить .ms в max, пока он открыт, а не во время запуска max (именно для этого, как я думал, предназначен '3dsmax -U')? Я надеюсь использовать Windows cmd для перетаскивания скриптов на максимум, пока он открыт. :)   -  person Eric Hance    schedule 23.01.2015


Ответы (1)


Для этого можно использовать OLE-автоматизацию. Во-первых, вам нужно открыть функцию fileIn. Поместите этот скрипт в папку автозагрузки:

registerOLEInterface #(fileIn)

Затем создайте утилиту командной строки на выбранном вами языке программирования/скриптов. Скажем, в питоне с помощью pywin32 это будет содержимое maxOLE.py:

import win32com.client
import sys

conn = win32com.client.Dispatch("MAX.Application")
conn._FlagAsMethod("fileIn")
conn.fileIn(sys.argv[1])

и вызов командной строки:

python maxOLE.py "C:/Scripts/script.ms"

Или передать путь к файлу напрямую conn.fileIn из этого внешнего приложения. Конечно, вы также можете открыть функцию execute и использовать ее для передачи других команд.

person Swordslayer    schedule 23.01.2015
comment
Swordslayer, это фантастика, я займусь этим сегодня. Спасибо, что делитесь своим талантом и знаниями с другими! - person Eric Hance; 23.01.2015