Executando scripts na linha de comando

O 3ds Max permite inserir comandos MAXScript diretamente na linha de comando. Quando você inicia o 3ds Max de uma linha de comando DOS, é possível fazê-lo executar um script de inicialização MAXScript ou Python especificado. Isto pode ser útil para tarefas como a renderização em lote sem supervisão.

Esta capacidade usa a opção -U da linha de comando existente que designa um utilitário para ser executado quando o 3ds Max é iniciado. A opção -U possibilita um argumento adicional que, para o MAXScript e o Python, é assumido como o nome do script de inicialização a ser executado. As maiúsculas do MAXScript devem estar em conformidade com o seguinte exemplo (inserido após enviar CD para o diretório do 3ds Max):

3dsmax -U MAXScript rendercams.ms

Neste exemplo, a linha de comando deve iniciar o executável do 3ds Max, iniciar o MAXScript e, em seguida, executar o script de inicialização rendercams.ms.

No seguinte exemplo, o script de inicialização carrega duas cenas, renderiza quadros de cada uma das câmeras integradas e, em seguida, sai do 3ds Max:

loadMaxFile "foo.max"
for c in cameras do render camera:c outputfile:("foo_"+c.name+".bmp")
loadMaxFile "baz.max"
for c in cameras do render camera:c outputfile:("baz_"+c.name+".bmp")
quitMax #noPrompt

Este exemplo usa o método do quitMax () para sair do 3ds Max quando o script é finalizado. Os scripts de inicialização não necessitam de ser scripts em lote como neste exemplo, mas é possível usá-los para condicionar o 3ds Max ao uso interativo, por exemplo, carregando um arquivo de cena e configurando algumas opções da interface do usuário.

Os scripts de inicialização normais, startup.ms e os scripts no diretório \scripts\startup são executados antes do script de inicialização. Também é possível instalar scripts em diferentes arquivos de cena individuais que são executados automaticamente quando a cena é aberta ou fechada ou em determinados eventos.

Nota: Os scripts de inicialização do MAXScript -U da linha de comando são executados após o 3ds Max ser completamente iniciado e os scripts padrão e de inicialização terem sido executados.

Opções de linha de comando do MAXScript e do Python

As opções a seguir funcionam especificamente com os arquivos e as funções do MAXScript de do Python.

Opção Efeito
-mi Inicia o 3ds Max em um modo minimizado – mas nunca permite a abertura da janela para uso interativo.
-mxs Esta opção é basicamente a mesma que o -U MAXScript file.ms, mas evita a necessidade do .arquivo ms. É possível seguir a opção com os comandos do MAXScript.
-silent Em comparação com o comando do MAXScript, definirModoSilencioso, esta opção suprime todas as caixas de diálogo de UI do MAXScript e do 3ds Max para que os scripts em lote especificados pelo comando -U não sejam interrompidos.
-u MAXScript <filename> Abre um arquivo MAXScript especificado.
-u PythonHost <nomedoarquivo> Abre um arquivo de script Python especificado.

Exemplos do uso de sintaxe desejado:

3dsmax.exe -silent -mxs "for c in cameras do render c outputFile:(c.name + \".bmp\") vfb:off " file.max

Este exemplo inicia o 3ds Max em modo silencioso, abre o file.max e renderiza cada vista de câmera em um arquivo BMP sem exibir a Janela do quadro renderizado. Observe que sequências de caracteres entre aspas dentro do script transmitido devem ser tratadas como sequências de escape.

3dsmax.exe -q -mi -U MAXScript \\server1\folder\myScript.ms \\server2\folder\file.max

Este exemplo suprime a tela inicial ao iniciar o 3ds Max em um estado minimizado, abre o file.max a partir de um servidor de rede e executa o myScript.ms encontrado em outro servidor. Se o myScript.ms englobar os mesmos comandos que o primeiro exemplo, esses dois exemplos fornecem os mesmos resultados.

3dsmax.exe -q -silent -mip -mxs  "for c in cameras do render c outputFile:(c.name + \".bmp\") vfb:on; quitMAX() #nopromptfile.max" file.max

O exemplo final suprime a tela inicial ao iniciar o 3ds Max em modo silencioso e em um estado permanentemente minimizado, abre o file.max, renderiza cada vista de câmera para um arquivo BMP mostrando a Janela do quadro renderizado e, em seguida, sai do 3ds Max.