C'est quoi AutoLISP ?

Dernière mise à jour : lundi 18 août 2025
AutoCADAutoLISPCAOProgrammation

Introduction

AutoLISP est un langage de programmation intégré à Autodesk AutoCAD, dérivé du langage LISP (LISt Processing). Introduit dans AutoCAD en 1986, AutoLISP permet aux utilisateurs d'automatiser des tâches répétitives, de créer des commandes personnalisées et d'étendre les fonctionnalités du logiciel de CAO (Conception Assistée par Ordinateur).

Origine et héritage du LISP

AutoLISP trouve ses racines dans le langage LISP, créé par John McCarthy en 1958 au MIT. LISP est l'un des plus anciens langages de programmation encore utilisés aujourd'hui et a été conçu pour le traitement de listes et l'intelligence artificielle. Autodesk a adapté LISP pour créer AutoLISP, en conservant sa philosophie fonctionnelle tout en l'adaptant spécifiquement aux besoins de la CAO.

Caractéristiques principales

Syntaxe basée sur les parenthèses

AutoLISP utilise une notation préfixée où les opérateurs précèdent leurs opérandes, le tout encadré par des parenthèses :

(+ 5 3)  ; Addition : 5 + 3 = 8
(* 2 4)  ; Multiplication : 2 × 4 = 8

Traitement de listes

Comme son ancêtre LISP, AutoLISP excelle dans la manipulation de listes, ce qui est particulièrement utile pour traiter les coordonnées et les propriétés d'objets :

(setq point1 '(10.0 20.0 0.0))  ; Définit un point 3D

Intégration native à AutoCAD

AutoLISP peut directement interagir avec les objets AutoCAD, accéder à la base de données du dessin et utiliser toutes les commandes du logiciel.

Mode REPL interactif

La ligne de commande d'AutoCAD fonctionne comme un REPL (Read-Eval-Print Loop), similaire à Python. Cela permet de tester très facilement du code AutoLISP directement depuis l'interface d'AutoCAD. Par exemple, vous pouvez simplement taper dans la ligne de commande :

(alert "Coucou")

Cette commande affichera immédiatement une boîte de dialogue avec le message "Coucou", permettant un apprentissage et un prototypage rapides.

L'alerte avec le message "Coucou"

Applications pratiques

Automatisation de tâches répétitives

  • Création automatique de blocs standardisés
  • Génération de nomenclatures
  • Calculs automatiques de surfaces et volumes
  • Mise à jour en lot des propriétés d'objets

Personnalisation de l'interface

  • Création de nouvelles commandes
  • Développement de boîtes de dialogue personnalisées
  • Modification des menus et barres d'outils

Intégration de données externes

  • Import/export vers des bases de données
  • Lecture de fichiers Excel ou CSV
  • Génération de rapports automatisés

Avantages d'AutoLISP

Accessibilité

AutoLISP est relativement facile à apprendre pour les utilisateurs d'AutoCAD, même sans expérience préalable en programmation. Sa syntaxe simple et sa documentation extensive facilitent l'apprentissage.

Intégration transparente

Étant intégré directement dans AutoCAD, AutoLISP ne nécessite aucune installation ou configuration supplémentaire. Les programmes peuvent être chargés et exécutés directement depuis l'interface d'AutoCAD.

Flexibilité

Le langage permet de créer des solutions sur mesure adaptées aux besoins spécifiques de chaque utilisateur ou entreprise.

Communauté active

Une large communauté d'utilisateurs partage des routines, des conseils et des solutions, facilitant l'apprentissage et le développement.

Évolution moderne

Visual LISP (VLISP)

Autodesk a introduit Visual LISP et son environnement de développement intégré (VLIDE) qui offre :

  • Un éditeur de code avec coloration syntaxique
  • Un débogueur intégré
  • Des outils de formatage automatique
  • Une interface graphique améliorée

VLIDE, l'environnement de développement AutoLISP traditionnel

Depuis AutoCAD 2021, Autodesk propose une alternative à VLIDE : on peut maintenant utiliser VS Code avec une extension nommée AutoCAD AutoLISP Extension. Notez qu'on ne peut pas compiler en fas ou en vlx, il faut continuer à utiliser VLIDE pour cela.

Alternatives modernes

Bien qu'AutoLISP reste populaire, Autodesk propose également :

  • VBA (Visual Basic for Applications) : L'avantage de cette technologie, c'est qu'elle est développé par Microsoft et qu'on la retrouve dans de nombreuses applications comme Microsoft Office ou SolidWorks. Mais elle est cependant obsolète et n'est plus développée. Par ailleurs, elle n'est plus installée par défaut avec AutoCAD, il faut la télécharger séparément.
  • .NET API : Pour le développement d'applications robustes en C#
  • ObjectARX : Pour ceux qui maitrisent le C++ et veulent des performances maximales

Limitations

Performance

AutoLISP étant un langage interprété, il peut être plus lent que les langages compilés pour des tâches très intensives.

Portabilité limitée

Les programmes AutoLISP sont spécifiquement conçus pour AutoCAD et ne sont pas portables vers d'autres applications. On peut cependant souvent les utiliser sur les clones d'AutoCAD comme DraftSight, BricsCAD, ZWCAD, GstarCAD, etc.

Évolution technologique

Bien que toujours supporté, AutoLISP n'évolue plus autant que les technologies plus récentes proposées par Autodesk. La liste des derniers changements en date peut être consultée ici

Options pour le développement d'interfaces utilisateur limitées

Si vous devez afficher des données ou créer des formulaires de saisie, votre choix se limitera à la technologie DCL (Dialog Control Library), qui est très basique et difficile à utiliser ou OpenDCL qui est également limitée. Alors qu'en .NET par exemple, on peut utiliser WPF ou WinForms qui sont bien plus puissantes et flexibles.

Exemple concret

Voici un exemple simple d'une routine AutoLISP qui dessine un rectangle :

(defun c:rectangle ()
  (setq pt1 (getpoint "\nPoint de départ : "))
  (setq pt2 (getpoint pt1 "\nPoint opposé : "))
  (setq pt3 (list (car pt2) (cadr pt1)))
  (setq pt4 (list (car pt1) (cadr pt2)))
  (command "LINE" pt1 pt3 pt2 pt4 "C")
  (princ)
)

Cette routine crée une nouvelle commande appelée "RECTANGLE" qui demande à l'utilisateur deux points et dessine automatiquement un rectangle.

Conclusion

AutoLISP demeure un outil puissant et accessible pour personnaliser et automatiser AutoCAD. Bien qu'il existe des alternatives plus modernes, sa simplicité d'apprentissage et son intégration native en font un choix privilégié pour de nombreux utilisateurs d'AutoCAD souhaitant améliorer leur productivité. Que ce soit pour automatiser des tâches répétitives ou créer des solutions personnalisées, AutoLISP continue de jouer un rôle important dans l'écosystème AutoCAD.


Coup de pouce Besoin d'un développement AutoCAD ? Contactez-moi pour un devis gratuit.