# Au-delà de l'AutoLISP: pourquoi et comment passer à la programmation .NET (C#) sur AutoCAD®

**URL:** https://dessein-tech.com/t/au-dela-de-lautolisp-pourquoi-et-comment-passer-a-la-programmation-net-c-sur-autocad/9766
**Category:** DotNET
**Tags:** lisp, programmation, dotnet
**Created:** 2026-01-25T16:52:13Z
**Posts:** 1
**Showing post:** 1 of 1

## Post 1 by @Patrick — 2026-01-25T16:52:13Z

Si vous êtes un utilisateur avancé d’AutoCAD® ou un gestionnaire CAO, vous avez probablement déjà croisé (ou écrit) des routines en **AutoLISP**. Ces scripts sont fantastiques pour automatiser des tâches répétitives. Mais il arrive un moment où le LISP atteint ses limites : lenteur sur les gros dessins, interfaces graphiques vieillottes, ou difficulté à communiquer avec Excel ou des bases de données.

 ![unnamed (1)](https://dessein-tech.com/uploads/default/original/2X/d/db6fd1310d5ffed8547ca6aa0918d353ff88c5c6.jpeg)

C’est ici qu’entre en scène la « cour des grands » : **l’environnement .NET**.

Dans cet article, nous allons démystifier la programmation .NET pour AutoCAD®, comprendre le rôle du langage C# (C-Sharp) et voir pourquoi il pourrait bien être la prochaine étape logique de votre carrière.

* * *

## 1. Qu’est-ce que l’environnement .NET ?

Imaginez que vous êtes un menuisier.

- **Le langage de programmation (C#)** est votre outil (le marteau, la scie).
- **L’environnement .NET** est votre atelier tout équipé. Il fournit l’électricité, l’établi, les règles de sécurité et des milliers de gabarits préfabriqués.

Plus techniquement, **.NET (dotNET)** est un vaste _framework_ créé par Microsoft. C’est une plateforme logicielle qui sert d’intermédiaire entre votre code, le système d’exploitation Windows et AutoCAD®.

Lorsque vous programmez pour AutoCAD® en .NET, vous n’écrivez pas juste des instructions pour le logiciel de dessin ; vous accédez à une bibliothèque gigantesque de fonctionnalités Windows (fenêtres, fichiers, réseau, sécurité) tout en pilotant le moteur interne d’AutoCAD®.

https://www.linkedin.com/embed/feed/update/urn:li:ugcPost:7421238953741221888?compact=1
### La place du C# (C-Sharp)

Le .NET n’est pas un langage, c’est l’atelier. Pour travailler dans cet atelier, vous devez parler une langue. Les deux plus courantes sont le `VB.NET` (Visual Basic) et le **C#**.

Aujourd’hui, le **C# est le standard de l’industrie**. C’est un langage moderne, puissant et structuré, utilisé par la grande majorité des développeurs Autodesk® professionnels.

Ci-dessous un exemple de la syntaxe du langage C#

```
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;

namespace MonPremierPlugin
{
    public class MaCommande
    {
        // On définit le nom de la commande que l'utilisateur tapera dans AutoCAD
        [CommandMethod("DISBONJOUR")]
        public void BonjourCommand()
        {
            // On accède à l'éditeur d'AutoCAD pour écrire un message
            var ed = Application.DocumentManager.MdiActiveDocument.Editor;
            ed.WriteMessage("\nBonjour tout le monde depuis le monde .NET !");
        }
    }
}
```

* * *

## 2. AutoLISP vs .NET (C#) : Le choc des cultures

C’est la question que tout le monde se pose. Quelle est la vraie différence ?

### AutoLISP / Visual LISP

- **Type :** Langage de script interprété.
- **Philosophie :** On écrit le code, on le charge, ça tourne. C’est immédiat.
- **Forces :** Manipulation rapide des listes, très facile pour dessiner de la géométrie simple, pas besoin d’outils externes (l’éditeur est dans AutoCAD®).
- **Faiblesses :** Lent sur les boucles complexes, création de boîtes de dialogue (DCL) archaïque, difficile à déboguer sur de gros projets.

### C# / .NET

- **Type :** Langage compilé (le code est transformé en fichier `.dll` avant d’être lu par AutoCAD®).
- **Philosophie :** Programmation Orientée Objet (POO). On manipule des «&nbsp;objets&nbsp;» (une ligne est un objet avec des propriétés, une fenêtre est un objet).
- **Forces :** Puissance de calcul brute, interfaces modernes, sécurité du code, accès à tout Windows.
- **Faiblesses :** Courbe d’apprentissage plus raide, nécessite un logiciel externe (Visual Studio) et une étape de compilation.

* * *

## 3. Avantages et Inconvénients du C# pour AutoCAD®

### Les Avantages (Pourquoi sauter le pas ?)

1. **Vitesse d’exécution :** Le C# est compilé, ce qui le rend nettement plus rapide que le LISP pour les calculs lourds ou le traitement de milliers d’entités.
2. **Interfaces Graphiques (UI) :** Avec C#, vous pouvez créer des palettes modernes, des fenêtres flottantes complexes, des barres de progression et des formulaires ergonomiques (via Windows Forms ou WPF).
3. **Interopérabilité :** C’est le point fort. Votre plugin AutoCAD® peut lire un fichier Excel, envoyer un courriel via Outlook, se connecter à une base de données SQL ou lire un fichier JSON sur un serveur web. Tout cela est natif en .NET.
4. **Protection du code :** Contrairement au LSP qui est un fichier texte lisible (sauf si compilé en VLX), une DLL .NET est plus difficile à «&nbsp;voler&nbsp;» ou modifier par un utilisateur lambda.

### Les Inconvénients (Ce qu’il faut savoir)

1. **Complexité :** «&nbsp;Hello World&nbsp;» en LISP prend 1 ligne. En C#, il en faut 10 pour configurer la structure de la classe. C’est plus verbeux.
2. **Maintenance :** Il faut recompiler le code pour chaque changement. On ne peut pas «&nbsp;modifier et tester&nbsp;» aussi vite qu’en LISP.
3. **Versions :** Il faut parfois gérer les versions des DLLs selon les années d’AutoCAD® (bien que cela se soit amélioré).

* * *

## 4. Ce qu’on peut faire en C# (et pas en LISP)

Voici quelques exemples concrets où le C# écrase le LISP :

- **La Palette Intelligente :** Créer une palette latérale ancrable dans AutoCAD® avec des onglets, des champs de recherche, des images d’aperçu dynamiques qui changent selon la sélection. (Impossible ou très laid en DCL/Lisp).
- **Lien Base de Données :** Un outil qui clique sur un bloc «&nbsp;Moteur&nbsp;», va chercher sa référence dans une base de données SQL d’entreprise, récupère le prix et le stock en temps réel, et met à jour les attributs du bloc.
- **Calcul Intensif :** Analyser 50 000 polylignes pour trouver des intersections complexes. En Lisp, cela pourrait prendre 3 minutes et figer l’écran. En C#, cela peut prendre 5 secondes avec une barre de progression fluide.
- **Export Avancé :** Générer un rapport PDF ou Excel formaté avec des graphiques et des images directement depuis les données du dessin, sans ouvrir Excel.

* * *

## 5. À qui s’adresse cette programmation ?

Le C# n’est pas pour tout le monde. Il s’adresse principalement :

- Aux **CAD Managers** qui doivent déployer des outils robustes pour toute une équipe.
- Aux **utilisateurs passionnés** qui se sentent limités par le Visual Lisp.
- Aux **développeurs de solutions** qui veulent vendre ou distribuer des plugins professionnels.

Si vous voulez juste tracer une ligne rouge rapidement, restez au LISP. Si vous voulez construire un «&nbsp;logiciel dans le logiciel&nbsp;», passez au .NET.

* * *

## 6. FAQ : Se lancer dans l’aventure

### Quel logiciel faut-il ?

Il vous faut un Environnement de Développement Intégré (IDE). Le standard absolu est **Microsoft Visual Studio**.

- Bonne nouvelle : La version **[Visual Studio Community](https://visualstudio.microsoft.com/fr/vs/community/)** est **gratuite** pour les particuliers et les petites équipes. Elle contient tout ce qu’il faut.

### Faut-il connaître le LISP avant de faire du C# ?

**Non, absolument pas.**

C’est même parfois un piège. La logique du LISP (procédurale) est très différente de la logique du C# (orientée objet). Avoir fait du LISP aide à comprendre comment AutoCAD® «&nbsp;pense&nbsp;» (les entités, les calques, les blocs), mais ce n’est pas un prérequis technique pour apprendre le langage C#. Vous pouvez commencer directement par le C#.

### Comment se former ?

Voici les liens directs vers les ressources mentionnées pour vous lancer dans l’aventure .NET :

**1. Le Guide Officiel (AutoCAD® .NET Developer’s Guide)** C’est la documentation technique officielle hébergée sur l’aide en ligne d’Autodesk®. Elle contient les concepts de base et les références des commandes.

- :link: **Lien :** [Aide aux développeurs AutoCAD (Managed .NET & ObjectARX)](https://help.autodesk.com/view/OARX/2026/ENU/)
  - _Note : Une fois sur la page, regardez le menu de gauche sous «&nbsp;Developer’s Guide (Managed .NET)&nbsp;»._

**2. Through the Interface (Le blog de Kean Walmsley)** Une mine d’or maintenue depuis des années. C’est en anglais, mais c’est incontournable. Utilisez la barre de recherche du blog pour trouver des exemples sur presque n’importe quel sujet.

- :link: **Lien :** [Through the Interface](https://keanw.com/)

**3. Le Forum Autodesk® (.NET)** L’endroit où poser vos questions. La communauté est très réactive (souvent plus rapide que le support officiel).

- :link: **Lien :** [AutoCAD .NET Forum](https://forums.autodesk.com/t5/net-forum/bd-p/net-forum-en)

**4. Le SDK ObjectARX (et .NET)** C’est ici qu’il faut télécharger le kit de développement. Bien qu’il s’appelle «&nbsp;ObjectARX&nbsp;», ce téléchargement contient également les bibliothèques .NET nécessaires et surtout des dossiers «&nbsp;Samples&nbsp;» (exemples) remplis de code C# fonctionnel.

- :link: **Lien :** [AutoCAD Developer Center](https://www.autodesk.com/developer-network/platform-technologies/autocad)
  - _Note : Sur cette page, descendez jusqu’à la section «&nbsp;ObjectARX&nbsp;» pour trouver le lien de téléchargement correspondant à votre version d’AutoCAD®._

**5. Le site de Gilles Chanteau (.NET)** L’expert en .NET AutoCAD®.

- :link: **Lien :** [gileCAD](https://gilecad.azurewebsites.net/DotNet.aspx)

* * *

### Conclusion

Passer au C# est un investissement en temps, mais il transforme AutoCAD® en une plateforme de développement illimitée. C’est la différence entre _utiliser_ le logiciel et le _dominer_.

**Prêt à compiler votre première commande ?**

---

_[View the full topic](https://dessein-tech.com/t/au-dela-de-lautolisp-pourquoi-et-comment-passer-a-la-programmation-net-c-sur-autocad/9766)._
