KERLOM Samuel Johnson
Qu'est-ce que le langage VB.net ?
Comment développer en VB.net sous AutoCAD ?

Langage VB.NET

Le langage VB.NET vous permet de concevoir des programmes indépendants (fichier EXE ou DLL) en opposition à VBA qui ne fonctionne qu'à travers une application !

Avant de vous lancer sous AutoCAD, je vous conseille de maîtriser les généralités VB.net. Vous trouverez un TRES BON COURS à l'adresse suivante : Cours VB.NET par Philippe Lasserre. Je vous conseille aussi VB.NET sur OpenClassRooms (ancien SiteDuZéro)

Pour développer en VB.net, vous allez avoir besoin d'un environnement IDE ! Je vous conseille "Visual Studio Express" (populaire et gratuit).

VB.net pour AutoCAD

Le développement en VB.net pour AutoCAD se déroule en plusieurs étapes :
- Créer un "projet adapté" sous environnement IDE et écrire le code
- Compiler le code pour obtenir un fichier DLL
- Charger le fichier DLL dans AutoCAD avec _NETLOAD
- Saisir le nom de votre commande dans AutoCAD

Par "projet adapté", j'entends un projet de type "Bibliothèque de classes" (pour produire un fichier DLL) avec les particularités suivantes :
- Ajouter les références aux bibliothèques Autodesk "acdbmgd.dll", "acmgd.dll"
- Ajouter la référence à "AcCoreMgd.dll" pour AutoCAD 2013 et supérieur
- Choisir le FrameWork adapté à la version d'AutoCAD

Informations sur les versions d'AutoCAD
Version Release FrameWork Version DWG
2023 R 24.2 ? 2018 (AC1032)
2022 R 24.1 ?
2021 R 24.0 ?
2020 R 23.1 4.7
2019 R 23.0 4.7
2018 R 22.0 4.6
2017 R 21.0 4.6 2013 (AC1027)
2016 R 20.1 4.5
2015 R 20.0 4.5
2014 R 19.1 4.0
2013 R 19.0 4.0
2012 R 18.2 3.5 2010 (AC1024)
2011 R 18.1 3.5
2010 R 18.0 3.5
2009 R 17.2 3.0 2007 (AC1021)
2008 R 17.1 2.0
2007 R 17.0 2.0

Les bibliothèques Autodesk ("acdbmgd.dll", "acmgd.dll", ...) des dernières versions sont disponibles dans ObjectARX. Ce téléchargement contient aussi des exemples de code, des utilitaires, ... Vous pouvez aussi récupérer ces DLL sur un poste où a été installé la version d'AutoCAD.
Anciennes versions ObjectARX

Le code VB.net d'un fichier DLL destiné à AutoCAD doit être basé sur ce gabarit :
- NomDeLaCommande : texte à saisir dans la ligne de commande pour lancer la fonction
- NomDeLaProcédure : sans importance mais il faut rester cohérent avec la commande

Imports Autodesk.AutoCAD.Runtime
 Public Class DLLAutoCAD
  < CommandMethod("NomDeLaCommande") > Public Sub NomDeLaProcédure()
    ............
    ... CODE ...
    ............
  End Sub
 End Class

Vous trouverez ci-dessous des guides Autodesk destinés au développeur :
My First Plug-in Training (en anglais).
AutoCAD .NET Developer's Guide (en anglais).

Une information importante : un fichier DLL généré avec les bibliothèques AutoCAD2013 (et donc le FrameWork 4.0) fonctionnera avec AutoCAD 2013 et 2014, voire même jusqu'AutoCAD 2020 !

Pour aller plus loin...

Aide Autodesk : Developer Documentation.
Ma référence : Explications de (gile).
Créer un projet VS pour AutoCAD : PDF de (gile)
Un bon début : VISIBLE VISUAL (en anglais)
Un autre bon début : HOW TO AUTOCAD (en anglais)
LE site de référence : through-the-interface (en anglais)
Site officiel : Blog Autodesk (en anglais)
Drive AutoCAD (en anglais)
Forum sur le développement dans AutoCAD (en anglais)

Dot Net Perls
[DeveloperFusion] Convertisseur C# vers VB.net
[Telerik] Convertisseur C# vers VB.net

▲ Haut