Automatiser gestion calques AutoCAD via script et LISP (IXL)

Comment automatiser la gestion des propriétés de calques (création, couleur, type de ligne, gelé, verrouillé, imprimable, etc.) dans AutoCAD à l’aide de scripts ou de LISP, et comment résoudre les problèmes d’utilisation d’un LISP comme IXL pour insérer des blocs depuis Excel ?

La gestion automatisée des calques et l’insertion de blocs avec attributs depuis Excel sont des tâches courantes en CAO. Voici une approche experte combinant scripts AutoCAD et routines LISP pour y parvenir.

1. Gestion des Calques via Scripts AutoCAD

Les scripts AutoCAD sont des séquences de commandes que vous taperiez manuellement en ligne de commande. Pour gérer les calques, la commande clé est -CALQUE (notez le tiret qui force l’interface en ligne de commande, idéale pour les scripts).

Principe de fonctionnement :
Lorsque vous utilisez -CALQUE, AutoCAD vous propose une série d’options, chacune identifiée par une ou plusieurs lettres majuscules (souvent affichées en bleu dans l’interface). Ce sont ces lettres que vous devez utiliser dans votre script.

Exemples d’options et leur utilisation dans un script :

  • Créer un nouveau calque (N) :

    -CALQUE
    N
    NomDuNouveauCalque
    
    
  • Définir la couleur (CO) :

    • Couleur indexée (1-255) :

      -CALQUE
      CO
      6  ; (pour le magenta par exemple)
      NomDuCalque
      
      
    • Couleur RAL (via carnet de couleurs CA) :

      -CALQUE
      CO
      CA
      RAL CLASSIC
      RAL 3020
      NomDuCalque
      
      
  • Définir le type de ligne (TLigne) :

    -CALQUE
    TL
    CONTINUOUS
    NomDuCalque
    
    
  • Définir l’épaisseur de ligne (EPaisseurl) :

    -CALQUE
    EP
    0.35
    NomDuCalque
    
    
  • Geler/Libérer (G/L) :

    -CALQUE
    G
    NomDuCalque
    
    
  • Verrouiller/Déverrouiller (V/D) :

    -CALQUE
    V
    NomDuCalque
    
    
  • Tracé/Aucun tracé (T/A) (pour imprimable ou non) :

    -CALQUE
    T
    NomDuCalque
    
    
  • Rendre courant (CHoisir) :

    -CALQUE
    CH
    NomDuCalque
    
    
  • Renommer un calque (R) :

    -CALQUE
    R
    AncienNomDuCalque
    NouveauNomDuCalque
    
    

Méthodologie pour générer un script de calques depuis Excel :

  1. Exportez vos calques existants : Dans le Gestionnaire des calques d’AutoCAD, sélectionnez tous les calques (Ctrl+A), copiez-les (Ctrl+C), puis collez-les (Ctrl+V) dans une feuille Excel. Cela vous donnera une base avec les noms de calques et leurs propriétés actuelles.
  2. Structurez vos données Excel : Organisez vos colonnes Excel pour correspondre aux propriétés que vous souhaitez définir (Nom du calque, Couleur, Type de ligne, Épaisseur, Gelé, Verrouillé, Imprimable, etc.).
  3. Concaténez les commandes : Utilisez les fonctions de concaténation d’Excel pour assembler les commandes -CALQUE et leurs options avec les données de chaque ligne. Chaque ligne de votre feuille Excel correspondra à une série de commandes pour un calque spécifique.
  4. Générez le fichier script : Copiez le contenu de votre colonne de script Excel dans un éditeur de texte (comme le Bloc-notes) et enregistrez-le avec l’extension .scr. Ce fichier pourra ensuite être exécuté dans AutoCAD via la commande SCRIPT.

2. Utilisation du LISP IXL pour l’insertion de Blocs depuis Excel

Le LISP IXL, réalisé par Patrick_35 est un outil puissant pour insérer des blocs avec attributs en masse depuis un fichier Excel. Si vous rencontrez des problèmes, voici les points à vérifier :

  1. Chemins de support AutoCAD : Assurez-vous que le dossier contenant IXL.lsp et IXL.dcl est bien ajouté aux « Chemins de recherche de fichiers de support » d’AutoCAD (Options > Fichiers > Chemin de recherche de fichiers de support). Sans cela, AutoCAD ne trouvera pas les fichiers nécessaires.
  2. Blocs avec attributs existants : Le LISP IXL ne crée pas les définitions de blocs. Vous devez avoir au préalable un ou plusieurs blocs avec les attributs nécessaires déjà définis et insérés au moins une fois dans votre dessin (ou un gabarit).
  3. Structure du fichier Excel : Le fichier Excel doit être structuré de manière spécifique. Généralement, il doit contenir des colonnes pour :
    • Le nom du bloc à insérer.
    • Les coordonnées X, Y (et Z si 3D) du point d’insertion.
    • Les valeurs pour chaque attribut du bloc (les en-têtes de colonne doivent correspondre aux noms des étiquettes d’attribut).
    • D’autres propriétés comme l’échelle, la rotation, le calque d’insertion, etc., peuvent être gérées si le LISP le supporte explicitement.
  4. Noms des blocs et attributs : Utilisez des caractères simples (A-Z, 0-9, -, _) pour les noms de blocs et d’attributs dans AutoCAD et dans les en-têtes de colonnes Excel pour éviter tout problème de compatibilité.
  5. Limitation de performance : IXL peut rencontrer des limites de performance au-delà de 10 000 à 12 000 lignes dans le fichier Excel. Pour de très grands jeux de données, il est conseillé de scinder le fichier Excel en plusieurs parties et de lancer le LISP plusieurs fois.

En suivant ces étapes, vous devriez pouvoir automatiser efficacement la gestion de vos calques et l’insertion de blocs dans AutoCAD.