Aller au contenu

(résolu) Bascule sur une valeur dans un bouton


Messages recommandés

Posté(e)

Bonjour

 

Je sais plus ou j'avais récupérer le truc pour faire un bouton bascule sur l’accrochage en Z mais bref dans la macro du bouton j'ai:

 

^C^COSNAPZ;$M=$(xor,$(getvar,OSNAPZ),1); la bascule se fait entre 0 et 1 nickel

 

Fort de cette expérience, je voudrai faire un bouton pour faire la bascule sur l’accrochage aux hachures . Mais si je fait

^C^COSOPTIONS;$M=$(xor,$(getvar,OSOPTIONS),7);

 

je ne bascule bien sur pas entre 6 et 7 comme je le souhaite...

Posté(e)

Slt,

 

En passant de 6 à 7, il faut faire une opération sur le bit 1 pour que cela fonctionne,

 

^C^COSOPTIONS;$M=$(xor,$(getvar,OSOPTIONS),1);

 

(Ps: Pour les valeurs 6 et 7 je te fais confiance, ma version s'arrêtant à 3)

A+

Apprendre => Prendre => Rendre

Posté(e)

Re,

 

La ligne de code précédente, retranche ou ajoute le code binaire 1 à somme des codes binaires, donc si la variable et réglé à 2 on bascule de 2 à 3 et vice-versa. Donc pour basculer de 6 à 7, il faut que la variable soit préalablement définie sur une de ses 2 valeurs.

L'expression lisp équivalente à l'expression diesel précédente:

(setvar 'OSOPTIONS (boole 6 (getvar 'OSOPTIONS) 1))

(6 réprésentant l'opérateur xor dans le fonction boole).

 

 

Maintenant si tu souhaites avoir une bascule spécifique sur les valeurs 6 ou 7, en fonction de la présence ou non du code binaire 1, tu peux tester ce qui suit:

 

L'expression Diesel:

^C^COSOPTIONS;$M=$(if,$(<,$(xor,$(getvar,OSOPTIONS),1),$(getvar,OSOPTIONS)),6,7);

L'expression Lisp équivalente:

(setvar 'OSOPTIONS (if (< (boole 6 (getvar 'OSOPTIONS) 1) (getvar 'OSOPTIONS)) 6 7))

Expression qui peut être simplifié au moyen de la fonction logand:

(setvar 'OSOPTIONS (if (zerop (logand (getvar 'OSOPTIONS) 1)) 7 6))

 

Sachant que tu t'intéresses au Lisp, je t'invite à jeter un œil à cette discussion challenge-bascule cela devrait aider.

 

A+

Apprendre => Prendre => Rendre

Posté(e)

bou lala... je suis une fois de plus pas mal charrette, et je comptais partir plus simplement avec un if... mais en dièsel c'est un peu la loose...je comptais regarder ça ce soir à tête reposée

 

Pour revenir à ta recherche dont je te remercie, j'avoue ne pas avoir bien compri ce que viens faire le xor la dedans.

à la réflexion si on regarde la table de vérité du xor sur la variable OSNAPZ et 1, ça marche nikel car si OSNAPZ=0 ça renvoie 1 et si OSNAPZ=1 ça renvoie 0

 

Pour passer de 6 à 7 il faut effectivement tester dans mon cas la valeur spécifique d'un bit sur l'ensemble de la variable pour en retourner la valeur décimale (cf l'aide de la 2015)

0

 

Les accrochages aux objets fonctionnent sur les objets de hachures et sur la géométrie avec des valeurs Z négatives lors de l'utilisation d'un SCU dynamique.

 

1

 

Les accrochages aux objets ignorent les objets de hachures.

 

2

 

Les accrochages aux objets ignorent la géométrie avec des valeurs Z négatives lors de l'utilisation d'un SCU dynamique. (Non disponibles dans AutoCAD LT.)

 

4

 

Les accrochages aux objets ignorent les extrémités des lignes d'attache des cotes.

 

 

J'étais bien loin du compte... il me manquait une boole !

 

merci encore ça marche au poil...

Posté(e)

J'étais bien loin du compte... il me manquait une boole !

Un coup de boole que je sois passé par là alors, plus sérieusement si tu es charrette, je comprend que les opérations binaire soit déconcertantes pour une première approche..

 

Sinon pour les versions diesel, remplace le C^C^ par '

Je trouve plus agréable pour une bascule de conserver le caractère transparent de la commande OSOPTIONS

Je n'ai pas vraiment eu d'effort de recherche à faire, généralement les sujets que je donne en lien sont ceux sur lesquels je me suis formé.

 

A+

Apprendre => Prendre => Rendre

Posté(e)

charrette (s)...

il y a eu un coup de mou cet été, et j'en ai profiter pour faire enfin un tout petit tour sur lisp, mais la rentrée est des plus prolifique en galères de toutes sortes et j'avoue ne plus trop avoir de temps pour trainer sur cadXp et fouiner les sujet formateurs.

Reste les soirées, mais j'ai pas toujours la foi.

 

++

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é