Aller au contenu

petit pb boite dcl


Invité -=micka=-

Messages recommandés

Posté(e)

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)

merci à tous pour toutes ces infos sur les dcl

je 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++

 

 

Posté(e)

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)

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!!

@+

 

Posté(e)

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité