Comandos bloqueados pela Execução de script de cena segura

Este tópico lista todos os comandos bloqueados em scripts incorporados pelo recurso Execução segura de scripts de cena.

Comandos do MAXScript

A seleção da opção Bloquear comandos do sistema MAXScript em Execução de cena segura na caixa de diálogo Configurações de preferência impede que os seguintes comandos MAXScript sejam executados quando estiverem em scripts incorporados:

Nota: Esses comandos também são bloqueados quando chamados por meio de scripts ou arquivos de script executados em scripts incorporados à cena; por exemplo, quando chamados por meio de execute(), executeScriptFile(), fileIn(), readValue() ou readExpr(). Os comandos também são bloqueados quando contidos em Atributos personalizados com script.

A exibição de uma implementação que contém controles ActiveX ou dotNet será bloqueada se sua definição estiver em um script de cena incorporado.

A palavra-chave de definição macroscript é bloqueada.

Estes métodos de arquivo são bloqueados em todos os casos:

Estas funções internas somente do systemTools são bloqueadas:

As sequências de caracteres avaliadas de getUserPropVal() são consideradas scripts incorporados e serão bloqueadas se contiverem comandos bloqueados. Isso acontece independentemente de getUserPropVal() em si estar em um script incorporado.

Funções bloqueadas para extensões ou arquivos específicos

Esses métodos de arquivo são impedidos de modificar arquivos protegidos e com extensões protegidas:

  • fopen (modos de abertura somente leitura r, rt e rb são sempre permitidos)
  • openFile (modos de abertura somente leitura r, rt e rb são sempre permitidos)
  • createFile
  • openLog
  • copyFile
  • renameFile
  • delIniSetting
  • setINISettings
Os arquivos protegidos são:
  • 3dsmax.ini
  • PackageContents.xml
  • Plugin.ini
  • Plugin.UserSettings.ini
  • PhotometricLightTemplates.ini
  • PhysicalMaterialTemplates.ini
  • arquivos 3dsmax.ini e plugin.ini personalizados especificados por argumentos de linha de comando

As extensões protegidas são: .bashrc, .bat, .bin, .bmf, .bmi, .bms, .cmd, .com, .cpl, .dla, .dlb, .dlc, .dle, .dlf, .dlh, .dli, .dlk, .dll, .dlm, .dln, .dlo, .dlr, .dls, .dlt, .dlu, .dlv, .dlx, .dly, .dlz, .exe, .flt, .gadget, .gup, .inf1, .ins, .inx, .isu, .job, .jse, .lnk, .mcr, .ms, .msc, .mse, .msi, .msp, .mst, .mxs, .mzp, .paf, .pif, .ps1, .py, .pyc, .pyd, .pyo, .pyw, .reg, .res, .rgs, .scr, .sct, .shb, .shs, .u3p, .vb, .vb3, .vbs, .vbscript, .ws, .wsf, .wsh.

Nota: O 3ds Max limpa o nome do arquivo e descarta os caracteres ignorados pelo sistema operacional antes de determinar se o arquivo está bloqueado. Por exemplo, qualquer ponto após a palavra é descartado, portanto, o prefixo de arquivo ".ms..." é considerado ".ms".

Casos especiais de métodos de arquivo:

  • fileIn - bloqueado para todos os arquivos com extensões diferentes de .ms, .mse e .mxs
  • executeScriptFile - bloqueado para todos os arquivos com extensões diferentes de .ms, .mse e .mxs; também não bloqueado para .py e .pyw se a opção Block Python Scripts estiver desmarcada.

Localizações de arquivos protegidos

Quando a opção Bloquear comandos do sistema MAXScript está ativada, qualquer comando capaz de gravar no sistema de arquivos é impedido de acessar esses locais dos quais o 3ds Max carrega plug-ins e scripts:

  • O diretório de instalação do 3ds Max
  • Diretório de ferramentas do usuário (normalmente, C:\Users\<USER>\Autodesk\3ds Max <year>\User Tools)
  • As localizações de script do usuário definidas por Mais scripts, Mais scripts de inicialização e Macros adicionais na caixa de diálogo Configurar caminhos de usuário e de sistema (no MAXScript, são: #userScripts, #userStartupScripts e #userMacros).
  • Localizações de diretório relacionadas ao plug-in definidas no arquivo plugin.ini, Plugin.usersettings.ini ou transmitidas ao 3ds Max na inicialização com a opção de linha de comando -p ou definidas pela variável de ambiente ADSK_APPLICATION_PLUGINS
  • O diretório ProgramData (normalmente, C:\ProgramData)
  • O diretório %LOCALAPPDATA%\Autodesk\ApplicationPlugins\

Comandos Python

Quando a opção Bloquear scripts Python é selecionada em Execução de cena segura na caixa de diálogo Configurações de preferência, todos os comandos Python acionados por scripts de cena incorporados são bloqueados.

Comandos .NET

Quando a opção Bloquear código .NET de terceiros está selecionada em Execução de cena segura na caixa de diálogo Configurações de preferências, todas as classes de estrutura .NET, inclusive os controles .NET, são bloqueadas quando executadas com base em scripts de cena incorporados, exceto aquelas fornecidas com plug-ins do 3ds Max ou usadas pelo 3ds Max.

Além disso, o comando MAXScript dotNet.loadAssembly() é bloqueado.

Esta é a lista de tipos .NET permitidos. Todos os demais são bloqueados: