Introduction — Qu'est-ce qu'AutoLISP ?
AutoLISP est le langage de programmation intégré à AutoCAD depuis 1986. Il permet d'automatiser des tâches, de créer des commandes personnalisées et d'étendre les fonctionnalités du logiciel. Avant de plonger dans la syntaxe et les exemples de code, prenons un moment pour comprendre d'où vient ce langage et pourquoi il a été choisi.
LISP : un langage né en 1958
Le LISP (LISt Processing) a été inventé par John McCarthy au MIT en 1958. C'est le deuxième plus ancien langage de programmation encore utilisé aujourd'hui, juste après le FORTRAN (1957).

Photo : null0, CC BY 2.0
À l'origine, LISP a été conçu pour la recherche en intelligence artificielle. Son nom — traitement de listes — reflète sa capacité à manipuler des structures de données complexes et hétérogènes, ce qui le distinguait fondamentalement des langages numériques de l'époque comme FORTRAN ou COBOL.
LISP a introduit de nombreux concepts qui sont aujourd'hui omniprésents dans les langages modernes :
- Le ramasse-miettes (garbage collector) pour la gestion automatique de la mémoire
- Les fonctions de première classe : les fonctions peuvent être passées en argument ou retournées par d'autres fonctions
- La récursivité comme mécanisme central de programmation
- Le typage dynamique
- Les expressions conditionnelles (l'ancêtre du
if/else)
Pourquoi Autodesk a choisi LISP
En février 1985, John Walker, cofondateur d'Autodesk, a rédigé un document interne expliquant le choix de LISP comme langage d'extension d'AutoCAD. Ce choix, qui a fait ses débuts dans AutoCAD 2.1, était à la fois stratégique et pragmatique.

Voici les raisons principales qui ont motivé cette décision :
Un langage taillé pour le processus de conception
LISP excellait dans la manipulation d'objets hétérogènes organisés en groupes de taille variable — exactement ce qu'on retrouve dans un dessin CAO où coexistent des lignes, des arcs, des blocs, des attributs et des cotes. Les langages numériques comme FORTRAN, conçus pour le calcul scientifique, étaient beaucoup moins adaptés à ce type de travail.
De plus, LISP se prêtait naturellement à l'interaction exploratoire qui caractérise le processus de conception. Un ingénieur ne sait pas toujours à l'avance quelle approche fonctionnera ; il a besoin d'essayer, de tester et d'ajuster rapidement. L'évaluation interactive de LISP correspondait parfaitement à cette façon de travailler.
Un langage reconnu en intelligence artificielle
En 1985, l'intelligence artificielle était au cœur de l'actualité technologique. LISP était le langage de référence dans ce domaine, avec des décennies de succès dans des systèmes complexes comme le programme de navigation de la navette spatiale (NAVEX). Autodesk souhaitait bénéficier de cette association positive.
Cependant, l'équipe d'Autodesk avait aussi une crainte : que les utilisateurs perçoivent LISP comme un langage ésotérique, réservé aux spécialistes. C'est pourquoi AutoLISP a d'abord été présenté sous le nom de « variables and expressions feature » (fonctionnalité de variables et d'expressions), un nom volontairement plus accessible.
Un langage facile à apprendre
Contrairement aux idées reçues, l'implémentation interactive d'AutoLISP avec ses outils de débogage intégrés le rendait comparable en difficulté à un interpréteur BASIC. L'utilisateur pouvait tester ses expressions directement dans la ligne de commande d'AutoCAD, sans avoir besoin d'un compilateur, d'un éditeur externe ou d'un environnement de développement complexe.
Un pari sur l'avenir
En 1985, des entreprises comme Symbolics et Texas Instruments développaient du matériel spécialisé pour exécuter LISP à haute performance. Autodesk anticipait que les applications CAO pourraient un jour tirer parti de ces machines dédiées. Même si cette prédiction ne s'est pas réalisée comme prévu, le choix de LISP s'est avéré remarquablement durable.
D'AutoLISP à Visual LISP
Au fil des versions d'AutoCAD, AutoLISP a évolué :
| Période | Évolution |
|---|---|
| 1986 | Introduction d'AutoLISP dans AutoCAD 2.1 |
| Années 90 | Ajout de fonctions d'accès aux entités et aux boîtes de dialogue (DCL) |
| 1997 | Apparition de Visual LISP (VLISP) avec un environnement de développement intégré (VLIDE) |
| 2000+ | Intégration de Visual LISP dans AutoCAD comme environnement standard |
| 2021 | Extension officielle AutoLISP pour Visual Studio Code, alternative moderne à VLIDE |
| 2024 | Support d'AutoLISP dans AutoCAD LT |
Visual LISP a apporté des fonctionnalités importantes comme l'accès aux objets ActiveX/COM, un débogueur visuel, la coloration syntaxique et la possibilité de compiler le code en fichiers .fas protégés. Aujourd'hui, l'éditeur VLIDE est considéré comme obsolète : Autodesk recommande d'utiliser Visual Studio Code avec l'extension officielle AutoLISP, qui offre un environnement de développement bien plus moderne (débogage, intégration Git, support de l'IA).
AutoLISP aujourd'hui
Aujourd'hui, AutoLISP reste un outil incontournable pour de nombreux utilisateurs d'AutoCAD. Même si Autodesk a ajouté d'autres interfaces de programmation (VBA, .NET/C#, ObjectARX en C++), AutoLISP conserve des avantages uniques :
- Aucune installation supplémentaire : il est intégré à AutoCAD
- Accès direct depuis la ligne de commande
- Fichiers texte simples (
.lsp) faciles à partager et à modifier - Courbe d'apprentissage douce pour les non-programmeurs
- Communauté active avec des décennies de code et d'exemples disponibles
AutoLISP n'est pas conçu pour développer des applications complexes avec des interfaces graphiques élaborées — pour cela, on préférera .NET ou ObjectARX. Mais pour automatiser des tâches répétitives, créer des commandes personnalisées ou manipuler des dessins par script, il reste le choix le plus efficace et le plus accessible.
Ce que vous allez apprendre
Dans ce tutoriel, nous allons explorer AutoLISP pas à pas :
- Premiers pas : tester des expressions directement dans la ligne de commande d'AutoCAD
- La syntaxe : comprendre la notation préfixée et l'imbrication des parenthèses
- Les opérations mathématiques : calculer avec
+,-,*,/ - Les variables et les types de données : stocker et manipuler des valeurs
- Les fonctions : créer vos propres commandes
- Les structures de contrôle : prendre des décisions dans votre code
- Les listes : maîtriser la structure de données fondamentale de LISP
- Interagir avec l'utilisateur : recueillir des points, des distances et du texte avec les fonctions
get* - Interagir avec le dessin : créer et modifier des entités AutoCAD
- Lire et écrire des fichiers : exporter et importer des données
- La gestion des erreurs : protéger vos programmes avec
*error* - Les symboles et les lambda : comprendre les concepts avancés
- Les données étendues et les dictionnaires : attacher des données personnalisées aux entités
- Les reactors : réagir automatiquement aux événements dans AutoCAD
- L'interopérabilité ActiveX : piloter des applications externes depuis AutoLISP
Aucune expérience en programmation n'est requise. Tout ce dont vous avez besoin, c'est d'une copie d'AutoCAD (ou une version d'AutoCAD LT égale ou postérieure à la 2024).
Passons à la pratique !
Besoin d'un développement AutoCAD (AutoLISP, ObjectARX, .NET, VBA) ? Contactez-moi pour un devis gratuit.