Créer des présentations A4 automatiquement depuis des cadres polylignes (MAKEPRES297)
Créer 12 layouts à la main, c'est 30 minutes de clic. Les générer automatiquement depuis vos cadres polylignes, c'est 5 secondes. Voici comment fonctionne la commande MAKEPRES297 d'ElectroCAD et son algorithme de détection multi-unités.
Le problème
Vous avez dessiné votre projet électrique entièrement dans le model space. Le plan rez fait 50 m × 30 m. Pour pouvoir l'imprimer en A4 ou A3, vous avez tracé 12 polylignes rectangulaires autour de zones d'intérêt — chaque polyligne représente le cadre d'un futur layout d'impression.
Maintenant il faut créer 12 layouts dans AutoCAD, chacun avec un viewport pleine page, l'échelle 1:100, le verrouillage du viewport, le centrage. Soit 12 × 2 minutes minimum = 24 minutes, et un risque d'erreur à chaque clic.
Ou alors vous tapez :
Command: MAKEPRES297
Et 5 secondes plus tard, vos 12 layouts existent.
Comment ça marche en interne
MAKEPRES297 est un script AutoLISP (schema presentation.lsp) qui implémente un algorithme en 4 étapes :
-
Détecter les polylignes fermées
Parcourt tout le model space et collecte les
LWPOLYLINEetPOLYLINEdont le code DXF 70 contient le bit 1 (fermée). Ignore les polylignes ouvertes. - Tester si chaque polyligne est un format A4 Pour chaque polyligne fermée, calcule sa bounding box (largeur × hauteur). Teste si ces dimensions correspondent à un A4 selon 8 facteurs d'unités possibles.
-
Trier les cadres de gauche à droite
Tri par coordonnée X du centre de la polyligne. Garantit que
PRES_01est le cadre le plus à gauche,PRES_02le suivant, etc. -
Créer les layouts
Pour chaque cadre détecté, crée un layout nommé
PRES_01,PRES_02, etc., avec un viewport pleine page configuré à l'échelle saisie par l'utilisateur, verrouillé.
Les 8 facteurs d'unités testés
L'algorithme est multi-unités : il accepte que vous ayez dessiné votre cadre en mm, cm, m ou pouces, en orientation portrait ou paysage. Voici les combinaisons testées :
| Largeur attendue | Hauteur attendue | Unité | Orientation |
|---|---|---|---|
| 297 | 210 | mm | Paysage |
| 210 | 297 | mm | Portrait |
| 29.7 | 21.0 | cm | Paysage |
| 21.0 | 29.7 | cm | Portrait |
| 0.297 | 0.210 | m | Paysage |
| 0.210 | 0.297 | m | Portrait |
| 11.69 | 8.27 | pouces | Paysage |
| 8.27 | 11.69 | pouces | Portrait |
L'utilisateur saisit une tolérance au lancement (par défaut 2 mm). Cela signifie qu'un cadre dessiné à 295 × 209 (au lieu de 297 × 210) sera quand même reconnu comme A4. Pratique quand on dessine à main levée ou que les unités ne sont pas exactement parfaites après import.
Le tri gauche → droite
Pour numéroter les présentations dans un ordre logique, le script trie les cadres par coordonnée X du centre :
(setq frames (vl-sort frames
'(lambda (a b)
(< (car (cadr a)) ; X du centre du cadre A
(car (cadr b)) ; X du centre du cadre B
))))
Pourquoi le centre et pas le coin gauche ? Parce que si deux cadres ont leur coin gauche à la même position X mais des hauteurs différentes, le tri par centre est plus stable.
Limitation : le tri ne gère que l'axe X. Si vous avez 4 cadres en grille 2×2, l'ordre devient PRES_01 (haut-gauche), PRES_02 (bas-gauche ou haut-droite selon le X exact), etc. — pas toujours intuitif. Pour un tri 2D rigoureux (lignes puis colonnes), il faudrait modifier le script.
L'échelle de chaque layout
Au lancement, l'utilisateur saisit l'échelle souhaitée (par défaut 1:100). Le script crée chaque layout avec un viewport configuré pour cette échelle :
; Calcul de la taille viewport pour une échelle 1:100 (setq vp-width (/ frame-width-mm 100)) (setq vp-height (/ frame-height-mm 100)) ; Création du viewport (command "._-LAYOUT" "_NEW" layout-name) (command "._MVIEW" vp-corner-1 vp-corner-2) ; Verrouillage de l'échelle (setq vp (entlast)) (command "._VPLAYER" "_LOCK" "_ON" vp "")
Le viewport est verrouillé immédiatement. Cela évite qu'un zoom accidentel dans le layout ne déforme l'échelle d'impression.
Workflow concret
- Dessiner le projet en model space Plan complet du bâtiment, échelle réelle, en unités cohérentes (typiquement mm).
- Tracer les cadres polylignes A4 Pour chaque zone à imprimer en A4, tracer une polyligne fermée rectangulaire. À l'échelle. En orientation portrait ou paysage selon le besoin.
-
Lancer MAKEPRES297
Command: MAKEPRES297
Tolérance [2]:(entrée pour défaut)
Échelle 1: [100]:(entrée pour défaut) - Vérifier les layouts créés Onglets PRES_01, PRES_02, … apparaissent en bas d'AutoCAD. Cliquer dessus pour vérifier que le viewport cadre bien la zone correspondante.
-
Imprimer en batch
Utiliser
IMPRIMERPRESENTATIONd'ElectroCAD Tools pour exporter tous les layouts en PDF en une commande.
Cas d'usage
- Plan d'étage découpé en zones : 1 plan rez de 600 m² → 12 zones A4 imprimables séparément
- Schémas répétitifs : 50 versions d'un même tableau électrique, chacun dans son cadre
- Détails techniques : 20 détails de raccordement chacun cadré sur son propre A4
- Reprise d'un projet hérité : un confrère vous donne un DWG avec des cadres polylignes mais aucun layout — vous régénérez tout
Limitations connues
- Format A4 uniquement : la commande s'appelle MAKEPRES297 (297 = largeur A4 en mm). Pour A3, A2 ou A1, il faudrait une variante du script ou modifier les dimensions testées.
- Tri 1D : seul le tri gauche→droite est implémenté. Pas de tri ligne par ligne pour les grilles 2D.
- Cadre rectangulaire : les polylignes en forme libre (carré rotatif, losange, etc.) ne sont pas reconnues comme A4 — seul un rectangle aligné aux axes l'est.
- Pas de cartouche : la commande crée le viewport mais n'ajoute pas de cartouche ni de bordure. À ajouter manuellement ou via un layout template.
Alternative pour les autres formats
Si vous avez besoin de A3 ou de formats personnalisés, vous pouvez :
- Modifier directement le script
schema presentation.lspdansC:\ProgramData\Autodesk\ApplicationPlugins\ElectroCAD.bundle\LISP\ - Ou utiliser
EC_NEWPAGEdu module ElectroSchema qui crée des pages avec cartouches pré-paramétrées en A4/A3/A2/A1
Conclusion
MAKEPRES297 est un script LISP de 100 lignes qui transforme une opération manuelle de 30 minutes en commande de 5 secondes. Pour les bureaux d'études qui produisent régulièrement des dossiers découpés en zones A4, c'est l'un des gains de productivité les plus immédiats d'ElectroCAD.
Combiné avec IMPRIMERPRESENTATION pour l'export PDF batch, il forme une chaîne complète : tracer les cadres en model space → générer les layouts → exporter en PDF, sans aucune navigation manuelle dans les onglets.
Découvrez les 9 scripts LISP d'ElectroCAD
MAKEPRES297 n'est qu'un parmi 9 scripts AutoLISP cachés. Chacun résout un irritant quotidien différent.
Lire l'article complet Essai gratuit ElectroCAD