Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

Je voudrais me créer un bouton qui lance une commande. Cette commande ouvre une boite de dialogue pour régler certains paramètres, et lorsqu'on valide avec "OK" on a la commande proprement dite.

Ce que je voudrais, c'est qu'en cliquant sur le bouton je zape la boite de dialogue de paramétrage.

En fait il suffirait de faire "Entrée" une fois dans la boite de dialogue mais là je ne connais pas la syntaxe dès lors qu'il y a une boite de dialogue qui apparait.

Je ne sais pas si j'ai été très clair.

A plus.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

Tout dépend de la commande, un point c'est tout.

D'ailleurs, de nombreuses commandes sont prévues avec une version sans boite, en mettant un "-" devant. Exemple -RESEAU.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Merci Tramber,

Effectivement cela dépend de la commande, mais je n'ai pas tous dis :P , c'est une commande Covadis qui n'a pas de version sans boite de dialogue.

On pourrais prendre exemple avec la commande hachure (version avec boite de dialogue) ou quand on lance la commande, si on fais de suite "Entrée" derrière cela relance le dernier mode de création utilisé.

Ou dans le cas d'une création en série de hachures, suivant le même mode de création, il suffit de faire 4 x "Entrée" après avoir "Choisit un point interne" pour ce retrouver avec "Choisir un point interne".

hummm, de moins en moins claire mon explication, non!!!!!!!

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

Vu que tu as COVADIS, cela veut dire que tu as une version pleine.

 

Dans ton bouton, tu peut peut être te servir d'une expression lisp avec la variable "CMDACTIVE"

 

Exemple:

^C^C(command "_.qselect"(while(not(zerop(getvar "cmdactive")))(command pause)));_.change;_property;_color;1;;

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Tu fais F1 > Présentations des commandes > Variables système > Variables système C, CMDACTIVE, et là, miracle :

 

(Lecture seule)

Type : Entier

Enregistré dans : Non enregistré

Valeur initiale : Aucune

 

 

Indique si une commande ordinaire, une commande transparente, un script ou une boîte de dialogue est actif. Le paramètre est stocké sous forme de code binaire en utilisant la somme des valeurs suivantes :

 

1 Une commande ordinaire est active.

 

2 Une commande ordinaire et une commande transparente sont actives.

 

4 Un script est actif.

 

8 Une boîte de dialogue est active.

 

16 DDE est actif.

 

32 AutoLISP est actif (visible uniquement pour une commande définie par ObjectARX)

 

64 Une commande ObjectARX est active

 

Donc, en LISP on peut l'utiliser dans une boucle while dont la condition d'arrêt est liée à l'activité d'une commande.

Exemple pour laisser la main à l'utilisateur tant que la commande en cours est active :

(while (/= 0 (getvar "CMDACTIVE")) (command pause)

 

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)
Ou dans le cas d'une création en série de hachures, suivant le même mode de création, il suffit de faire 4 x "Entrée" après avoir "Choisit un point interne" pour ce retrouver avec "Choisir un point interne".

hummm, de moins en moins claire mon explication, non!!!!!!!

 

Remarque déjà que cela ne correspond pas à la version ligne de commande et vois aussi que certaines autres boites n'ont (malheureusement) pas cette fonctionnalité.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)

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é