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
, etentmod
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
- L’objet
- 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. LorsqueLISPSYS
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 modequi
. L’utilisation du modequi
retourne une valeur denil
, 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 fichieracad20xx.cfg
.setcfg
- Écrit les données de l’application dans la section AppData du fichieracad20xx.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.