Créer des interfaces utilisateur LISP avec DCL dans AutoCAD

Je souhaite comprendre ce qu’est le DCL (Dialog Control Language) dans AutoCAD. Est-ce un langage de programmation et à quoi sert-il pour mes routines LISP ?

Le DCL (Dialog Control Language) est un langage de description essentiel pour créer des interfaces utilisateur personnalisées et interactives pour vos programmes AutoLISP dans AutoCAD. Il permet de remplacer les interactions par ligne de commande par des boîtes de dialogue graphiques, rendant vos outils plus conviviaux.

Voici les points clés pour comprendre le DCL :

  1. Définition et Nature :

    • DCL est l’acronyme de Dialog Control Language. C’est un langage de script utilisé spécifiquement dans AutoCAD pour décrire l’apparence et la structure des boîtes de dialogue.
    • Ce n’est pas un langage de programmation au sens strict (comme AutoLISP, C# ou Python) car il ne contient pas de logique (boucles, conditions, calculs). Il est qualifié de langage de description ou déclaratif, définissant ce à quoi l’interface doit ressembler et où placer les éléments.
  2. Utilité Principale :

    • Le DCL sert à créer des interfaces utilisateur personnalisées pour vos programmes et macros AutoLISP. Au lieu de demander des informations via la ligne de commande, vous pouvez concevoir des fenêtres professionnelles contenant :
      • Des boutons (OK, Annuler, Aide).
      • Des cases à cocher (Checkboxes) et des boutons radio.
      • Des zones de saisie de texte (Edit boxes).
      • Des listes de sélection.
      • Des images (Slides).
    • Cela rend vos routines LISP plus intuitives et accessibles, même pour les utilisateurs non-programmeurs.
  3. Avantages du DCL :

    • Natif et Intégré : Aucune installation logicielle supplémentaire n’est requise ; le DCL est directement disponible avec AutoCAD.
    • Léger : Les fichiers DCL sont de simples fichiers texte, très petits et rapides à charger, garantissant une bonne performance.
    • Simplicité : Pour des boîtes de dialogue basiques (ex: saisir une valeur et valider), le codage est rapide et direct.
    • Standardisation : L’interface conserve le « look & feel » standard d’AutoCAD, ce qui peut rassurer les utilisateurs.
  4. Inconvénients et Limites :

    • Design Daté : Les interfaces créées avec DCL ont un aspect visuel qui rappelle les systèmes d’exploitation plus anciens (Windows 95/98), rendant difficile la création d’interfaces modernes.
    • Pas d’éditeur visuel : Contrairement aux environnements de développement modernes, il n’y a pas d’outil de « glisser-déposer ». La mise en page et le positionnement de chaque élément doivent être codés manuellement.
    • Positionnement Rigide : La mise en page est structurée par des rangées (: row) et des colonnes (: column), ce qui peut rendre l’alignement précis des éléments complexe et fastidieux.
    • Dépendance AutoLISP : La gestion des événements (callbacks) et l’interactivité des dialogues DCL sont entièrement gérées par AutoLISP, ce qui peut complexifier le code pour des interfaces très dynamiques.

En résumé, le DCL est l’outil fondamental pour doter vos scripts AutoLISP d’une interface graphique. Bien qu’il présente des limitations esthétiques et ergonomiques par rapport aux technologies plus récentes, il reste un choix pertinent pour développer des utilitaires légers et portables directement au sein d’AutoCAD.