(gile) Posté(e) le 1 juillet 2011 Posté(e) le 1 juillet 2011 DCL reste quand même (très) limité et demande beaucoup de code (DCL + LISP) pour faire des boites de dialogue un peu sophistiquées comparé à ObjectDCL/OpenDCL (ou Visual Sudio) qui se chargent de coder quasiment toute la partie DCL (ou équivalent .NET) tout en offrant beaucoup plus de contrôles. Néanmoins, ces outils plus élaborés demandent une bonne connaissance du LISP (ou de .NET) et ne permettent pas (ou beaucoup plus difficilement) d'écrire un fichier DCL "à la volée" depuis le LISP, ce qui permet d'adapter la boite de dialogue aux circonstances (voir SSD dans Special_Selections sur cette page où la boite de dialogue est construite en fonctions des propriétés dynamiques du bloc sélectionné). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Invité -=micka=- Posté(e) le 5 juillet 2011 Posté(e) le 5 juillet 2011 merci à tous pour toutes ces infos sur les dclje crois que je vais rester sur des boites de dialogue "simple" :cool: J'ai de nouveau quelques soucis:je n'est pas réussis à identifier dans le lisp du site que m'a indiqué Patrick_35 la commande qui gère le "gèle" d'une partie des boutons de la boite dcl :( Et j'ai une nouvelle question similaire à une que j'ai posé précèdement: Puis j'aimerais aussi que lorsque je choisisse une valeur avec une liste déroulante celle ci ne se remette pas à zéro apres avoir calculé. Cette fois ci j'aimerais garder en mémoire le choix d'un "radio_button", j'ai essayer avec la commande que (gile) m'avait donné pour les pop_up mais je n'ai pas réussi à m'en servir a++
(gile) Posté(e) le 5 juillet 2011 Posté(e) le 5 juillet 2011 la commande qui gère le "gèle" d'une partie des boutons de la boite dcl Regarde la fonction mode_tile. garder en mémoire le choix d'un "radio_button" Le principe est toujours le même, conserver une valeur dans une variable et se servir de cette valeur avec la fonction set_tile. Pour les boutons radio, on peut utiliser la clé du radio_column ou radio_row qui les contient pour retrouver la clé du radio_button sélectionné (avec get_tile ou $value) ou en sélectionner un avec set_tile. DCL... :radio_column{ key = "rcol"; ... :radio_button{ key = "r1"; ...} :radio_button{ key = "r2"; ...} :radio_button{ key = "r3"; ...} } ... LISP... (setq opt "r1") ;initialisation de la valeur par défaut ... (set_tile "rcol" opt) ; sélectionner le bouton en fonction la valeur de 'opt' ... (action_tile "rcol" "(setq opt $value)") ; modifier la valeur de 'opt' en fonction du bouton sélectionné ... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Invité -=micka=- Posté(e) le 7 juillet 2011 Posté(e) le 7 juillet 2011 merci beaucoup à tous!!j'ai bien avancé dans mon lisp et c'est grâce à vous!!! :D j'aurais besoin une fois de plus de vos lumières: mon programme ce sert de blocs, mais si c'est dernier ne sont pas en mémoire dans autocad il est impossible pour lui de les insérer.j'aimerais avoir un test dans mon lisp qui vérifie si les blocs sont présents dans le dessin.(je précise que j'ai créé un bouton pour insérer les blocs au début, mais si l'utilisateur ne clic pas dessus ç'est mort ça marche pas) merci!!@+
(gile) Posté(e) le 7 juillet 2011 Posté(e) le 7 juillet 2011 Regarde la fonction tblsearch.Sécurise ta routine avec des expressions conditionnelles de façon à ce que les actions ne soient effectuées que si les conditions sont remplies :(if (tblsearch "BLOCK" nom_du_bloc) (progn .... ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant