A propos de la compatibilité AutoLISP

En règle générale, très peu de modifications sont nécessaires pour exécuter les programmes AutoLISP sur la version la plus récente.

Toutefois, il se peut qu'un programme AutoLISP ne s'exécute plus correctement dans la version la plus récente car une fonction AutoLISP, une variable système ou une commande de produit basé sur AutoCAD a été modifiée ou est obsolète.

Remarque : A partir des produits basés sur AutoCAD 2014, les applications personnalisées doivent fonctionner en mode sécurisé lorsque la variable système SECURELOAD est définie sur 1 ou 2. En cas d'utilisation en mode sécurisé, le produit basé sur AutoCAD est limité au chargement et à l'exécution de fichiers contenant du code à partir des emplacements approuvés. Ces derniers sont spécifiés par la variable système TRUSTEDPATHS. Pour plus d'informations, reportez-vous à la rubrique "A propos de la sécurité et de la protection contre les virus".

Informations générales

Commandes et variables système obsolètes

Vérifiez vos programmes personnalisés pour trouver les commandes et variables système qui ont été désignées comme obsolètes. Dans certains cas, une variable système ou une commande obsolète peut toujours être utilisée par vos programmes personnalisés, même s'il est impossible d'y accéder directement à partir de la ligne de commande ou de l'interface utilisateur.

Remarque : Même si une variable système ou commande obsolète peut continuer à fonctionner pour un programme personnalisé, il n'est pas garanti qu'elle continuera à fonctionner dans une version ultérieure de ce produit. Nous vous recommandons de réécrire vos programmes personnalisés afin d'éviter l'utilisation des commandes ou des variables système obsolètes.

Les techniques suivantes peuvent être utiles lors de l'utilisation d'une commande ou variable système obsolète dans un programme personnalisé :

  • Ajoutez un point comme préfixe d'un nom de commande. Par exemple, .BLIPMODE permet l'utilisation de la commande BLIPMODE.
  • Evitez d'exécuter une variable système obsolète avec la fonction COMMANDE qui peut entraîner un message d'erreur Commande inconnue ; au lieu de cela, utilisez les fonctions GETVAR et SETVAR. Par exemple, (getvar "BLIPMODE") renvoie la valeur actuelle de la variable système BLIPMODE.
Remarque : Les commandes et variables système qui ont été supprimées du produit ne peuvent pas être restaurées à l'aide des techniques mentionnées précédemment.

AutoCAD 2017 et versions ultérieures

CDATE, DATE et autres variables système associées à la date/l'heure

A partir de la version AutoCAD 2017, les valeurs stockées dans les variables système CDATE et DATE ne représentent plus la date/l'heure actuelle à la milliseconde ou au centième de seconde près. Les secondes sont désormais la plus petite unité de temps dans laquelle les valeurs de ces deux variables système sont exprimées. Si vous avez besoin de détecter des intervalles de temps inférieurs à une seconde, vous pouvez utiliser la valeur renvoyée par la variable système MILLISECS, qui stocke la différence de temps depuis le démarrage du poste de travail en millisecondes.

Les variables système associées à la date/l'heure suivantes sont également concernées par la suppression des millisecondes :

  • TDCREATE
  • TDINDWG
  • TDUCREATE
  • TDUPDATE
  • TDUSRTIMER
  • TDUUPDATE

AutoCAD 2016 et versions ultérieures

Fichiers signés numériquement

A partir des produits AutoCAD 2016, des fichiers AutoLISP peuvent être signés numériquement. Cette nouveauté permet de les charger dans l'environnement de dessin AutoCAD sans avertissement informant l'utilisateur que le fichier n'est pas sécurisé. Les fichiers VLX signés numériquement ne peuvent pas être chargés dans AutoCAD 2015 ou antérieurs.

Fonction ACCROBJ

A partir des produits AutoCAD 2016, la fonction osnap ne prend plus en charge le mode d'accrochage rapide aux objets (qui). Supprimez le mode qui des instructions qui utilisent la fonction ACCROBJ dans vos programmes AutoLISP. Si le mode n'est pas supprimé, la fonction ACCROBJ renvoie nil au lieu d'une valeur de coordonnée pour un point valide de la zone de dessin.