x_all Posté(e) le 5 octobre 2015 Posté(e) le 5 octobre 2015 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... quelques trucs sur autocad
VDH-Bruno Posté(e) le 5 octobre 2015 Posté(e) le 5 octobre 2015 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
VDH-Bruno Posté(e) le 5 octobre 2015 Posté(e) le 5 octobre 2015 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
x_all Posté(e) le 5 octobre 2015 Auteur Posté(e) le 5 octobre 2015 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... quelques trucs sur autocad
VDH-Bruno Posté(e) le 5 octobre 2015 Posté(e) le 5 octobre 2015 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 OSOPTIONSJe 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
x_all Posté(e) le 5 octobre 2015 Auteur Posté(e) le 5 octobre 2015 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. ++ quelques trucs sur 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