Commandes bloquées par la fonctionnalité Exécution de script de scène sécurisé

Cette rubrique répertorie toutes les commandes bloquées par la fonctionnalité Exécution de script de scène sécurisé dans les scripts intégrés.

Commandes MAXScript

Lorsque l’option Bloquer les commandes système MAXScript est sélectionnée sous Exécution de script de scène sécurisé dans la boîte de dialogue Préférences, les commandes MAXScript suivantes ne sont pas exécutées lorsqu’elles proviennent de scripts intégrés :

Remarque : Ces commandes sont également bloquées lorsqu’elles sont appelées à partir de scripts ou de fichiers de scripts exécutés dans des scripts intégrés à une scène, par exemple lorsqu’elles sont appelées à partir des scripts execute(), executeScriptFile(), fileIn(), readValue() ou readExpr(). Les commandes sont également bloquées lorsqu’elles sont contenues dans des attributs personnalisés de script.

L’affichage d’un panneau déroulant contenant des contrôles ActiveX ou dotNet est bloqué si sa définition se trouve dans un script intégré à une scène.

Le mot-clé de la définition macroscript est bloqué.

Les méthodes de fichier suivantes sont bloquées dans tous les cas :

Les fonctions systemTools suivantes (internes uniquement) sont bloquées :

Les chaînes évaluées à partir de getUserPropVal() sont considérées comme des scripts intégrés et sont bloquées si elles contiennent des commandes bloquées, que getUserPropVal() se trouve dans un script intégré ou non.

Fonctions bloquées pour des extensions ou des fichiers spécifiques

Les méthodes de fichier suivantes ne sont pas autorisées à modifier les fichiers protégés et les fichiers dotés d’extensions protégées :

  • fopen (les modes d’ouverture en lecture seule r, rt et rb sont toujours autorisés)
  • openFile (les modes d’ouverture en lecture seule r, rt et rb sont toujours autorisés)
  • createFile
  • openLog
  • copyFile
  • renameFile
  • delIniSetting
  • setINISettings
Les fichiers protégés sont les suivants :
  • 3dsmax.ini
  • PackageContents.xml
  • Plugin.ini
  • Plugin.UserSettings.ini
  • PhotometricLightTemplates.ini
  • PhysicalMaterialTemplates.ini
  • Fichiers 3dsmax.ini et plugin.ini personnalisés spécifiés par les arguments de ligne de commande

Les extensions protégées sont les suivantes : .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.

Remarque : 3ds Max nettoie le nom de fichier et ignore les caractères ignorés par le système d’exploitation avant de déterminer si le fichier est bloqué. Par exemple, les points finaux sont ignorés, de sorte que le préfixe de fichier « .ms... » est considéré comme « .ms ».

Méthodes de fichier des cas particuliers :

  • fileIn : bloquée pour tous les fichiers dotés d’extensions autres que .ms, .mse et .mxs
  • executeScriptFile : bloquée pour tous les fichiers dotés d’extensions autres que .ms, .mse et .mxs ; non bloquée pour les extensions de fichiers .py et .pyw si l’option Bloquer les scripts Python n’est pas sélectionnée.

Emplacements de fichiers protégés

Lorsque l’option Bloquer les commandes système MAXScript est activée, les commandes pouvant écrire dans le système de fichiers ne peuvent pas accéder aux emplacements à partir desquels 3ds Max charge les plug-ins et les scripts :

  • Le répertoire d’installation de 3ds Max
  • Le répertoire des outils utilisateur (généralement C:\Users\<USER>\Autodesk\3ds Max <year>\User Tools)
  • Les emplacements de scripts utilisateur définis par les options Scripts supplémentaires, Scripts de démarrage suppl. et Macros supplémentaires dans la boîte de dialogue Configurer les emplacements Utilisateur et système (dans MAXScript, il s’agit des commandes #userScripts, #userStartupScripts et #userMacros)
  • Les emplacements de répertoires associés aux plug-ins définis dans les fichiers plugin.ini et Plugin.usersettings.ini, ou transmis à 3ds Max au démarrage à l’aide de l’option de ligne de commande -p ou définis par la variable d’environnement ADSK_APPLICATION_PLUGINS
  • Le répertoire ProgramData (généralement C:\ProgramData)
  • Le répertoire %LOCALAPPDATA%\Autodesk\ApplicationPlugins\

Commandes Python

Lorsque l’option Bloquer les scripts Python est sélectionnée sous Exécution de script de scène sécurisé dans la boîte de dialogue Préférences, toutes les commandes Python appelées à partir de scripts de scène intégrés sont bloquées.

Commandes .NET

Lorsque l’option Bloquer le code .NET tiers est sélectionnée sous Exécution de script de scène sécurisé dans la boîte de dialogue Préférences, toutes les classes .NET Framework, y compris les contrôles .NET, sont bloquées lorsqu’elles sont exécutées à partir de scripts de scène intégrés, à l’exception de celles qui sont fournies avec les plug-ins 3ds Max ou utilisées par 3ds Max.

En outre, la commande MAXScript dotNet.loadAssembly() est bloquée.

Voici la liste des types .NET autorisés. Tous les autres types sont bloqués :