Exercices

Développement ObjectARX AutoCAD :
Module de conception de façades (mur Bois/Bloc)

Exercices

Exercices

Evaluez vos connaissances sur AutoCAD :
Questionnaires sur les Xréfs et sur les Blocs.

Programmation des cases de dialogue (DCL)

La programmation des cases de dialogue ou programmation DCL (Dialogue Control Language) est apparue avec la version12 d'AutoCAD mettant à disposition du développeur d'applications ou de l'utilisateur des outils de personnalisation permettant dechanger l'image de son logiciel et de le rendre ainsi plus proche des interfaces utilisateurs "modernes" tels que : MicrosoftWindows, ...

La programmation des cases de dialogue nécessite la parfaite connaissance d'un quelconque des deux environnements de programmation disponibles dans AutoCAD : le langage AutoLISP ou ActiveX de Visual LISP.

Les cases de dialogue offrent les possibilités suivantes :

  • Saisie, modification et correction des données.
  • Un aspect visuel "3D".
  • La validation par double clic.
  • Le mode défilement.
  • Selection par des touche clavier (<Entrée>, <Tabs>, <Espace>).
  • Parcours des zones de la boîte de dialogue.
  • graphisme.
  • Déplacement des cases de dialogue.
  • Programmation des cases de dialogues.

Intérêt des cases de dialogue et définition des termes
Structure des cases de dialogue
Gestion des boîtes de dialogue (définition et affichage)
Demande de mot de passe

Fonctions et Commandes DCL
Composants prédéfinis Ouverture/fermeture
de boîtes de dialogue
button load_dialog
edit_box done_dialog
image_button new_dialog
list_box start_dialog
popup_list term_dialog
radio_button unload_dialog
slider
toggle




Exemple d'utilisation du composant list_box.

Fichiers : CFDEV4.DCL et CFDEV4.LSP

Description : Affiche la liste des noms des blocs du dessin courant.

cfdev4

Fichier : CFDEV4.DCL
DEV4 : dialog
{
   label = "Zone de liste : list_box";
   spacer;
   :column
   {
     :list_box
     {
         label = "Liste des Blocs";
         key = "lbloc" ;
         height = 10;
     }
     :edit_box
     {
         key = "BlocSel";
     }
   }
   spacer;
   ok_cancel;
}

Fichier : CFDEV4.LSP

cfdev4lsp1


cfdev4lsp2

Chargement

▲haut de page

Exemple d'utilisation d'une liste déroulante : popup_list.

Cet exemple utilise le composant popup_list pour changer de point de vue à l'aide de deux angles de rotation.
Fichiers : CFDEV5.LSP et CFDEV5.DCL

cfdev5

Utilisation de :

CFDEV5.DCL      CFDEV5.LSP     
dialog load_dialog
spacer new_dialog
popup_list start_dialog
edit_width action_tile
label start_list
boxed_column add_list
key end_list
ok_cancel set_tile
vla-sendcommand

Chargement de l' application sous AutoCAD

Usage: Au niveau de la ligne de commande d'AutoCAD, Tapez DEVDCL5

▲haut de page

Exemple d'utilisation d'une zone d´édition : edit_box.

Cet exemple utilise le composant edit_box, pour récupérer le texte (chaîne de caractères) saisi dans la zone d'édition.
Ajoute le texte au centre d'un cercle (Texte encerclé).
Fichiers : CFDEV1.LSP et CFDEV1.DCL

Utilisation de :

CFDEV1.DCL      CFDEV1.LSP     
dialog ENVIRONNEMENT VLISP
spacer load_dialog vla-getboundingbox
edit_box new_dialog vlax-safearray-get-element
edit_width start_dialog vla-put-Alignment
label action_tile vla-put-TextAlignmentPoint
boxed_row vla-AddCircle
key vla-AddText
ok_cancel vlax-3D-point
initial_focus vla-GetVariable

Chargement d'une application sous AutoCAD

Usage: Au niveau de la ligne de commande d'AutoCAD, Tapez DEVDCL1

▲haut de page