Nouveautés ou modifications avec AutoLISP (historique)

Nouveautés ou Modifications avec AutoLISP (AutoLISP)

Voici un aperçu des modifications apportées à AutoLISP dans les versions récentes.

AutoCAD® 2026

  • Aucune nouvelle fonction ou modification

AutoCAD® 2025

  • La fonction acet-load-expresstools a été ajoutée à AutoCAD® pour Windows uniquement. Cette fonction est utilisée pour initialiser les fonctions des Express Tools.

AutoCAD® 2024

Nouveautés :

  • Aucune nouvelle fonction ou modification
  • AutoCAD LT® pour Windows prend désormais en charge AutoLISP et DCL

Voici quelques-unes des limitations ou différences connues par rapport à AutoCAD® :

  • La plupart des fonctions VL*, VLA*, VLAX*, et VLR* sont prises en charge, mais l’utilisation de bibliothèques d’automatisation tierces n’est pas supportée dans AutoCAD LT®.

Voici un résumé de haut niveau des fonctions qui ne sont pas supportées :

  • vlax-create-object
  • vlax-get-object
  • vlax-get-or-create-object
  • vlax-import-type-library
  • vla-GetInterfaceObject
  • Fonctions VLA* liées à la création et à la modification d’objets solides et de surfaces 3D, hélices, matériaux, objets multilignes, entre autres, qui ne peuvent être créés que dans AutoCAD®
  • Les fonctions entmake, entmakex, et entmod ne permettent que la création et la modification d’objets supportés dans AutoCAD LT®
  • Les fonctions AutoLISP exposées par des programmes ObjectARX et Managed .NET personnalisés ne peuvent pas être utilisées
  • Limitations ActiveX :
    • L’objet PreferencesProfiles existe dans le cadre de l’implémentation ActiveX, mais toutes ses méthodes et propriétés ont été supprimées car les profils ne sont pas supportés dans AutoCAD LT® pour Windows
    • La création de maillages, surfaces et solides 3D n’est pas supportée, tandis que le support est limité pour la modification d’objets 3D
  • Limitations de développement de programmes AutoLISP :
    • L’environnement de développement intégré (IDE) Visual LISP et les commandes VLIDE/VLISP ne sont pas disponibles dans AutoCAD LT® pour Windows
    • Le débogage avec l’extension AutoLISP dans Visual Studio Code n’est pas supporté dans AutoCAD LT® pour Windows
  • Limitations de déploiement de programmes AutoLISP :
    • Les fichiers MNL ne sont pas automatiquement chargés avec les fichiers CUIx portant le même nom, mais les fichiers peuvent être chargés en utilisant la fonction LOAD d’AutoLISP à partir d’un autre fichier LISP
    • Les fichiers LSP compilés sont supportés dans AutoCAD LT® pour Windows, mais la compilation des fichiers LSP ne peut être effectuée que dans AutoCAD® pour Windows

Les programmes utilisant des fonctions et commandes limitées à AutoCAD® doivent vérifier dans quel produit ils sont chargés pour éviter des problèmes de compatibilité. Cela peut être fait en utilisant la variable système PROGRAM, une valeur de acadlt est retournée pour AutoCAD LT®.

L’exemple suivant restreint le chargement d’un fichier DVB et la définition d’une commande exécutant une macro VBA en fonction du produit dans lequel le code est chargé :

(if (/= (strcase (getvar "PROGRAM") T) "acadlt")
  (progn
    (vl-load-com)
    ;; Charger un fichier DVB
    (setq retVal (vl-catch-all-apply 'vl-vbaload (list (findfile "sample/vba/drawline.dvb"))))
    ;; Si le fichier DVB a été trouvé, définir la fonction pour exécuter la fonction
    (if (not (vl-catch-all-error-p retVal))
      (defun c:DRAWLINE (/)(vl-vbarun "drawline"))
      (prompt "\ndrawline.dvb est manquant")
    )
    (prompt "\nEntrez DRAWLINE pour exécuter la macro VBA.")(princ)
  )
  (progn (prompt "\nLes macros VBA ne sont pas supportées sur AutoCAD LT.")(princ))
)

AutoCAD® 2023

  • Aucune nouvelle fonction ou modification
  • AutoLISP est désormais disponible sur AutoCAD® Web pour les abonnés AutoCAD® uniquement

AutoCAD® 2022

  • Aucune nouvelle fonction ou modification

AutoCAD® 2021

Nouveautés :

  • Extension AutoCAD® AutoLISP pour Visual Studio (VS) Code - Permet l’édition et le débogage de fichiers AutoLISP avec VS Code sur Windows ou Mac OS. La variable système LISPSYS doit être définie sur 1 ou 2 pour déboguer les fichiers AutoLISP avec l’extension AutoCAD® AutoLISP. Lorsque LISPSYS est défini sur 0, le moteur AutoLISP hérité et l’IDE Visual LISP sont utilisés pour l’édition et le débogage des fichiers AutoLISP.
  • Support DCL sur Mac OS - Les boîtes de dialogue définies avec DCL peuvent désormais être affichées avec AutoLISP. Toutes les tuiles DCL supportées sur Windows sont également supportées sur Mac OS, mais tous les attributs de tuiles ne sont pas supportés sur Mac OS.

Modifications :

Les fonctions suivantes ont été mises à jour pour supporter les chaînes/codes de caractères Unicode :

  • ascii - Retourne la conversion du premier caractère d’une chaîne en son code de caractère Unicode (un entier).
  • chr - Convertit un entier représentant un code de caractère Unicode en une chaîne d’un seul caractère.
  • load - Évalue les expressions AutoLISP dans un fichier.
  • open - Ouvre un fichier pour accès par les fonctions d’E/S AutoLISP. Un nouvel argument optionnel a été ajouté pour spécifier l’encodage des caractères à utiliser lors de la lecture/écriture du fichier. Lorsque l’argument n’est pas fourni, le fichier est supposé contenir un jeu de caractères multioctets (MBCS), ce qui est le comportement hérité.
  • read-char - Retourne l’entier représentant le caractère Unicode lu à partir du tampon d’entrée du clavier ou d’un fichier ouvert.
  • read-line - Lit une chaîne à partir du clavier ou d’un fichier ouvert, jusqu’à ce qu’un marqueur de fin de ligne soit rencontré.
  • strlen - Retourne un entier représentant le nombre de caractères dans une chaîne.
  • substr - Retourne une sous-chaîne d’une chaîne.
  • vl-directory-files - Liste tous les fichiers dans un répertoire donné.
  • vl-file-copy - Copie ou ajoute le contenu d’un fichier à un autre fichier.
  • vl-file-delete - Supprime un fichier.
  • vl-file-directory-p - Détermine si un nom de fichier fait référence à un répertoire.
  • vl-file-rename - Renomme un fichier.
  • vl-file-size - Détermine la taille d’un fichier, en octets.
  • vl-file-systime - Retourne la dernière date de modification du fichier spécifié.
  • vl-filename-mktemp - Calcule un nom de fichier unique à utiliser pour un fichier temporaire.
  • vl-list->string - Combine les caractères Unicode associés à une liste d’entiers en une chaîne.
  • vl-mkdir - Crée un répertoire.
  • vl-string->list - Convertit une chaîne en une liste de codes de caractères Unicode.
  • vl-string-elt - Retourne la représentation Unicode du caractère à une position spécifiée dans une chaîne.
  • vl-string-mismatch - Retourne la longueur du préfixe commun le plus long pour deux chaînes, en commençant à des positions spécifiées.
  • vl-string-position - Recherche un caractère avec le code Unicode spécifié dans une chaîne.
  • vl-string-search - Recherche le motif spécifié dans une chaîne.
  • vl-string-subst - Substitue une chaîne par une autre, dans une chaîne.
  • vl-string-translate - Remplace des caractères dans une chaîne par un ensemble spécifié de caractères.
  • vl-vbaload - Charge un projet VBA.
  • vlisp-compile - Compile le code source AutoLISP en un fichier FAS.
  • write-char - Écrit un caractère Unicode à l’écran ou dans un fichier ouvert.
  • write-line - Écrit une chaîne à l’écran ou dans un fichier ouvert.

Obsolète :

  • IDE Visual LISP (AutoCAD® pour Windows uniquement) - L’IDE Visual LISP (VL) a été retiré et sera supprimé dans une future version. Il est recommandé d’utiliser l’extension AutoCAD® AutoLISP pour Visual Studio (VS) Code pour créer de nouveaux programmes AutoLISP et mettre à jour les programmes existants. LISPSYS doit être défini sur 0 avant que l’IDE VL puisse être utilisé pour éditer et déboguer les fichiers AutoLISP.

AutoCAD® 2020

  • Aucune nouvelle fonction ou modification

AutoCAD® 2019

  • Aucune nouvelle fonction ou modification

AutoCAD® 2018

  • Aucune nouvelle fonction ou modification

AutoCAD® 2017

  • Aucune nouvelle fonction ou modification

AutoCAD® 2016

Modifications :

  • osnap - Retourne un point 3D résultant de l’application d’un mode d’accrochage d’objet à un point spécifié. La fonction n’accepte plus le mode qui. L’utilisation du mode qui retourne une valeur de nil, même si d’autres modes sont spécifiés.

Obsolète :

  • getcfg - Récupère les données de l’application à partir de la section AppData du fichier acad20xx.cfg.
  • setcfg - Écrit les données de l’application dans la section AppData du fichier acad20xx.cfg.

Note : getcfg et setcfg sont toujours disponibles pour compatibilité, mais pourraient être supprimés dans une future version. Il est recommandé d’utiliser les fonctions vl-registry-read et vl-registry-write comme remplacements.

AutoCAD® 2015

  • Aucune nouvelle fonction ou modification

AutoCAD® 2014

Nouveautés :

  • findtrustedfile - Recherche les chemins de fichiers de confiance AutoCAD® pour le fichier spécifié.
  • showHTMLModalWindow - Affiche une fenêtre modale avec un document HTML ; à utiliser conjointement avec la nouvelle API JavaScript.

Modifications :

  • findfile - Recherche les chemins de support et de fichiers de confiance AutoCAD®. La fonction a été mise à jour pour rechercher les nouveaux chemins d’applications de confiance.

AutoCAD® 2013

Nouveautés :

  • vlax-machine-product-key - Retourne le chemin de registre Windows AutoCAD® dans le HKLM (HKEY_LOCAL_MACHINE).

Obsolète :

  • vlax-product-key - Retourne le chemin de registre Windows AutoCAD®.

AutoCAD® 2012

Nouveautés :

  • command-s - Exécute une commande AutoCAD® et les entrées fournies.
  • *pop-error-mode* - Fonction de gestion des erreurs qui termine l’appel précédent à *push-error-using-command* ou *push-error-using-stack*.
  • *push-error-using-command* - Fonction de gestion des erreurs indiquant l’utilisation de la fonction de commande dans un gestionnaire d’erreurs personnalisé.
  • *push-error-using-stack* - Fonction de gestion des erreurs indiquant l’utilisation de variables de la pile AutoLISP dans un gestionnaire d’erreurs personnalisé.

AutoCAD® 2011

Nouveautés :

  • dumpallproperties - Récupère les propriétés supportées d’une entité.
  • getpropertyvalue - Retourne la valeur actuelle d’une propriété d’entité.
  • ispropertyreadonly - Retourne l’état en lecture seule d’une propriété d’entité.
  • setpropertyvalue - Définit la valeur de propriété pour une entité.

AutoCAD® 2010

Modifications :

  • help - Invoque la fonction d’aide. La fonction a été mise à jour pour ajouter le support de la documentation HTML.

AutoCAD® 2009

Nouveautés :

  • initcommandversion - Force la prochaine commande à s’exécuter avec la version spécifiée.