Bibliothèque VBA pour AutoCAD
Bonjour à tous,
Je ne sais pas quelle portée aura mon projet, mais étant ingénieur, je travaille beaucoup avec Excel et AutoCAD. Je sais que c'est aussi le cas de beaucoup de dessinateurs projeteurs.
J'ai donc commencé à développer une bibliothèque de fonctions/classes VBA pour simplifier les interactions Excel/AutoCAD, qui peuvent être très rebutantes surtout pour les utilisateurs débutants.
Il existe divers moyens d'automatiser AutoCAD, et de lier ces deux outils, mais la plupart des utilisateurs n'ont pas de grandes bases de programmation, c'est pourquoi VBA et sa syntaxe simple sont, je pense, la porte d'entrée la plus accessible. C'est aussi un moyen d'automatisation relativement facile à mettre en place, si vous avez l'autorisation de lancer des macros sur votre PC, alors aucune autorisation/installation supplémentaire ne sera nécessaire.
Pour l'instant les fonctions disponibles sont assez limitées car elles dépendent surtout de mon usage. Mais si vous avez des propositions d'ajouts je suis tout ouïe.
Sur cette première version, je me suis concentré sur les SelectionSets | Autodesk. Il s'agit d'objets AutoCAD qui contient une liste d'objets. Des collections VBA++ en quelques sortes. Leur fonction : ils permettent de récupérer dans le dessin les objets partageant certaines propriétés : calque, type, couleur, position…
L'intérêt : leur création est quasi-instantanée. Si vous voulez faire une boucle sur l'ensemble des objets de votre dessin pour y retrouver, par exemple les polylines du calque "0", sur un dessin complexe cela peut prendre plusieurs secondes. Avec le SelectionSet c'est quasi-instantané. Mais de base ils sont horriblement complexes à utiliser, c'est pourquoi j'ai créé ces fonctions de "simplification".
Il y a un second module "CADDoc" qui permet d'alléger les interactions entre application et documents depuis Excel vers AutoCAD. La création/le lien d'un document AutoCAD ne prend qu'une ligne !
L'ensemble des fonctions sont commentées. En anglais, mais comme de toute façon l'ensemble de la documentation VBA AutoCAD que j'ai pu trouver est en anglais, ça permet de ne pas se mélanger les pinceaux.
Pour ne pas faire un post gigantesque, veuillez lire le fichier PDF ci-joint pour les instructions de mise en place technique, et des exemples d'utilisation de chaque fonction en français.
LIMITES
Les fonctions se concentrent sur l'interaction avec le ModelSpace | Autodesk = l'onglet de dessin dans AutoCAD. Je n'ai pour l'instant pas touché aux présentations/feuilles d'impression car je ne les utilise pas.
Windows seulement ? Non testé sur MacOS.
Si vous avez AutoCAD, n'hésitez surtout pas à me faire un retour, notamment sur les bugs qui sont probablement encore nombreux malgré mon attention.
FICHIERS JOINTS
[EDIT: les modules de classe ne sont pas joignables séparément. Il faudra les extraire depuis le fichier demo.xlsm dans le VBE]