Five essential Python scripts for automating tasks in AutoCAD.
Python et AutoCAD, câest pas lâamour fou de base. Mais avec les bons ponts, ça devient une machine de guerre pour automatiser les tĂąches rĂ©pĂ©titives, connecter ton DAO Ă ton SIG ou extraire des donnĂ©es sans jamais ouvrir une feuille Excel.
Voici 5 scripts que jâutilise ou que jâai vus en action dans des bureaux topo â et qui changent la donne.
đ 1. Extraction automatique des longueurs vers Excel
đ Cas dâusage : tu bosses sur un plan VRD avec 300 lignes Ă mesurerđĄ Tu veux : sortir un tableau Excel avec longueur, calque, nom dâobjet
Ce que fait le script :
- Parcourt toutes les polylignes dâun calque
- Calcule leur longueur
- Crée un fichier
.xlsx
avec les infos
for entity in acad.iter_objects('Polyline'):
if entity.Layer == "VRD":
lengths.append(entity.Length)
đ Gain : 25 minutes de copier-coller manuel Ă©vitĂ©es par projet
đŠ Libs utilisĂ©es : pyautocad
, openpyxl
đ§č 2. Nettoyage intelligent de calques parasites
đ Cas dâusage : des plans venant de diffĂ©rents prestas, avec des calques inutilesđĄ Tu veux : garder uniquement ce qui t'intĂ©resse, sans tout faire Ă la main
Ce que fait le script :
- Liste tous les calques
- Supprime ceux qui ne sont pas dans ta âliste blancheâ
- Option : fusionner vers un calque standard
đ Gain : 10 Ă 30 minutes, selon la complexitĂ© du plan
đŻ Bonus : applicable en batch sur tout un dossier
đ 3. Export automatique en PDF + DWG
đ Cas dâusage : livrer les plans hebdo Ă un client, toujours aux mĂȘmes specsđĄ Tu veux : gĂ©nĂ©rer une version PDF + DWG propre, renommĂ©e correctement
Fonctionnement :
- Sélectionne les layouts à exporter
- GĂšre les formats (A3, A1, etc.)
- Nomme les fichiers automatiquement :
NomProjet_Layout_N°Plan.pdf
đŠ Libs : win32com.client
(COM AutoCAD), os
, datetime
đ 4. ContrĂŽle qualitĂ© automatisĂ© avant livraison
đ Cas dâusage : tâas livrĂ© un plan... et le client te le renvoie pour une Ă©chelle ou un cartouche fauxđĄ Tu veux : checker les Ă©lĂ©ments critiques AVANT dâenvoyer
Vérifications possibles :
- Ăchelle du plan
- PrĂ©sence dâun cartouche avec le bon bloc
- Types de lignes et calques utilisés
- Format de police
đš Le script peut gĂ©nĂ©rer un rapport (CSV ou HTML) avec tous les problĂšmes dĂ©tectĂ©s.
đ§ 5. Connexion Ă une base de donnĂ©es ou SIG
đ Cas dâusage : tu bosses en environnement SIG (QGIS, PostGIS...) et tu veux synchroniser ça avec ton DAOđĄ Tu veux : que ton DWG se remplisse automatiquement selon des donnĂ©es mĂ©tiers
Fonctionnement :
- Lit des attributs depuis un fichier
.geojson
,.shp
ou.csv
- InsÚre des entités AutoCAD à la bonne position
- Ajoute des propriétés étendues (XDATA)
đŠ Libs : geopandas
, ezdxf
, shapely
En résumé : ce que Python te permet que LISP ne peut pas
Fonction | AutoLISP | Python |
Travailler avec Excel | â ïž | â
|
AccĂ©der Ă une base de donnĂ©es | â | â
|
GĂ©rer des formats SIG | â | â
|
Faire une interface graphique | â ïž | â
(Tkinter, PyQt) |
Automatiser en dehors d'AutoCAD | â | â
|
Envie de tester ?
Pour débuter sans tout casser, installe pyautocad et regarde comment piloter ton instance AutoCAD ouverte :
pip install pyautocad
Et hop :
from pyautocad import Autocad
acad = Autocad()
print(acad.doc.Name)