jifi Posté(e) le 18 août 2005 Posté(e) le 18 août 2005 Salut, Je ne sais pas si c'est le bon endroit pour ce sujet, mais voilà je vous expose mon souhait... Dans le travail que j'effectue actuellement, je dois changer fréquemment la couleur de fond d'écran de l'espace objet pour des raisons de confort visuel. Donc actuellement "OPTIONS" onglet "Affichage" bouton "Couleurs..." pui choix de la couleur (Noir ou Blanc dans mon cas) puis retour au dessin. Existe-t-il une macro, un lisp, un script, un programme etc... que l'on pourait intégrer dans un bouton d'une barre d'outil qui ferait le switch d'une couleur à l'autre ? Merci d'avance aux pros de la programmation, car pour ma part il me faudrait un bouquin du genre "Je programme AutoCAD pour les Nuls" ainsi que du Temps pour mettre le pied à l'étrier. A+ [Edité le 18/8/2005 par jifi] Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP http://www.git-cad.ch
Tramber Posté(e) le 18 août 2005 Posté(e) le 18 août 2005 Je me suis inspiré de ce fil de discussion. Mais j'ai retouché pour juste nous occuper de la couleur de fond, car passer par les profils est un peu lourd : Les seules couleurs dispos sont : (je n'ai pas le temps de chercher un moyen d'en faire d'autres) vbBlack vbRed vbYellow vbGreen vbCyan vbBlue vbMagenta vbWhite (vl-load-com) (setq app (vlax-get-acad-object)) (setq pref (vla-get-preferences app)) (setq disp (vla-get-display pref)) (defun faitrou()(vla-put-GraphicsWinModelBackgrndColor disp vbRed)) (defun faitnoir()(vla-put-GraphicsWinModelBackgrndColor disp vbBlack)) Le lisp doit être chargé( au démarrage par exemple) et mettre le code ^C^C(faitrou) ou ^C^C(faitnoir) dans un bouton. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
jifi Posté(e) le 18 août 2005 Auteur Posté(e) le 18 août 2005 Salut Tramber, Merci pour ce lisp, mais je dois faire quelque chosse de faux, car ça ne fonctionne pas, j'ai ce message d'erreur qui apparaît: Commande: (faitnoir) ; erreur: Le serveur ActiveX a renvoyé une erreur: Paramètre non facultatif Voici ce que j'ai fait : - J'ai copié le lisp dans un fichier MNL qui est chargé à chaque lancement d'AutoCAD- J'ai créé deux boutons avec ^C^C(faitrou) et ^C^C(faitnoir) Y a-t-il autre chose à faire ? Merci d'avance. Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP http://www.git-cad.ch
bonuscad Posté(e) le 18 août 2005 Posté(e) le 18 août 2005 Une autre solution en lisp mais sans utiliser l'ActiveXUn inconvenient je suis obligé d'utiliser TILEMODE pour rafraichir la modif Donc à la tienne, mais il faut pas abuser du whisky ;) (defun c:BlackAndWhite () (initget "Noir Blanc _Black White") (if (eq (getkword "\nCouleur de fond [Noir/Blanc]? : ") "White") (setenv "Background" "16777215") (setenv "Background" "0") ) (if (zerop (getvar "tilemode")) (setvar "tilemode" 1) (setvar "tilemode" 0)) (if (zerop (getvar "tilemode")) (setvar "tilemode" 1) (setvar "tilemode" 0)) (princ) ) Mais je regarderais ce qui cloche dans la solution de Tramber car elle m'interesse Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jifi Posté(e) le 18 août 2005 Auteur Posté(e) le 18 août 2005 Salut Bonuscad, MERCI, ça fonctionne. :heartpump: :P En attendant d'éviter de passer par l'espace papier, ça m'ira très bien ! :cool: A+ Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP http://www.git-cad.ch
Patrick_35 Posté(e) le 18 août 2005 Posté(e) le 18 août 2005 SalutJe me suis inspiré de celui-ci Il faut d'abord charger le lisp, puis ensuite, dans un bouton par exemple^C^C(fondEO 1) pour le rouge^C^C(fondEO 3) pour le vert @+ (defun fondEO(couleur) (vl-load-com) (setq OLE_COLOR_LIST '(0 255 65535 65280 16776960 16711680 16711935 16777215 8421504 12632256 255 8421631 166 5460902 128 4210816 76 2500172 38 1250086 16639 8429567 10662 5466278 8320 4214912 4940 2502732 2598 1251366 33023 8437759 21414 5471398 16512 4219008 9804 2505036 4902 1252646 49151 8445951 31910 5476774 24704 4223104 14668 2507596 7462 1253670 65535 8454143 42662 5482150 32896 4227200 19532 2509900 9766 1254950 65471 8454111 42620 5482129 32864 4227184 19513 2509891 9757 1254945 65408 8454079 42579 5482108 32832 4227168 19494 2509881 9747 1254941 65344 8454047 42537 5482088 32800 4227152 19475 2509872 9738 1254936 65280 8454016 42496 5482067 32768 4227136 19456 2509862 9728 1254931 4259584 10485632 2729472 6858323 2129920 5275712 1264640 3165222 665088 1582611 8453888 12582784 5481984 8169043 4227072 6324288 2509824 3755046 1254912 1910291 12582656 14679936 8168960 9545299 6324224 7372864 3755008 4410406 1910272 2172435 16776960 16777088 10921472 10921555 8421376 8421440 5000192 5000230 2500096 2500115 16760576 16768896 10910720 10916179 8413184 8417344 4995328 4997926 2497792 2498835 16744448 16760704 10900224 10910803 8404992 8413248 4990464 4995366 2495232 2497811 16728064 16752512 10889472 10905683 8396800 8409152 4985600 4993062 2492928 2496531 16711680 16744576 10878976 10900307 8388608 8405056 4980736 4990502 2490368 2495251 16711744 16744607 10879017 10900328 8388640 8405072 4980755 4990512 2490378 2495256 16711808 16744639 10879059 10900348 8388672 8405088 4980774 4990521 2490387 2495261 16711871 16744671 10879100 10900369 8388704 8405104 4980793 4990531 2490397 2495265 16711935 16744703 10879142 10900390 8388736 8405120 4980812 4990540 2490406 2495270 12517631 14647551 8126630 9524134 6291584 7356544 3735628 4400716 1900582 2167590 8388863 12550399 5439654 8147878 4194432 6307968 2490444 3745356 1245222 1905446 4194559 10453247 2687142 6837158 2097280 5259392 1245260 3155532 655398 1577766 5526612 5987163 10000536 12303291 14540253 16777215 ) ) (vla-put-GraphicsWinModelBackgrndColor (vla-get-display (vla-get-preferences (vlax-get-acad-object))) (nth Couleur OLE_COLOR_LIST)) ) Ps : je viens de voir que je viens de me faire grille par Bonus, mais bon, je le poste quand même car il permet de choisir sa couleur [Edité le 18/8/2005 par Patrick_35] Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Patrick_35 Posté(e) le 18 août 2005 Posté(e) le 18 août 2005 Et le même pour EP @+ (defun fondEP(couleur) (vl-load-com) (setq OLE_COLOR_LIST '(0 255 65535 65280 16776960 16711680 16711935 16777215 8421504 12632256 255 8421631 166 5460902 128 4210816 76 2500172 38 1250086 16639 8429567 10662 5466278 8320 4214912 4940 2502732 2598 1251366 33023 8437759 21414 5471398 16512 4219008 9804 2505036 4902 1252646 49151 8445951 31910 5476774 24704 4223104 14668 2507596 7462 1253670 65535 8454143 42662 5482150 32896 4227200 19532 2509900 9766 1254950 65471 8454111 42620 5482129 32864 4227184 19513 2509891 9757 1254945 65408 8454079 42579 5482108 32832 4227168 19494 2509881 9747 1254941 65344 8454047 42537 5482088 32800 4227152 19475 2509872 9738 1254936 65280 8454016 42496 5482067 32768 4227136 19456 2509862 9728 1254931 4259584 10485632 2729472 6858323 2129920 5275712 1264640 3165222 665088 1582611 8453888 12582784 5481984 8169043 4227072 6324288 2509824 3755046 1254912 1910291 12582656 14679936 8168960 9545299 6324224 7372864 3755008 4410406 1910272 2172435 16776960 16777088 10921472 10921555 8421376 8421440 5000192 5000230 2500096 2500115 16760576 16768896 10910720 10916179 8413184 8417344 4995328 4997926 2497792 2498835 16744448 16760704 10900224 10910803 8404992 8413248 4990464 4995366 2495232 2497811 16728064 16752512 10889472 10905683 8396800 8409152 4985600 4993062 2492928 2496531 16711680 16744576 10878976 10900307 8388608 8405056 4980736 4990502 2490368 2495251 16711744 16744607 10879017 10900328 8388640 8405072 4980755 4990512 2490378 2495256 16711808 16744639 10879059 10900348 8388672 8405088 4980774 4990521 2490387 2495261 16711871 16744671 10879100 10900369 8388704 8405104 4980793 4990531 2490397 2495265 16711935 16744703 10879142 10900390 8388736 8405120 4980812 4990540 2490406 2495270 12517631 14647551 8126630 9524134 6291584 7356544 3735628 4400716 1900582 2167590 8388863 12550399 5439654 8147878 4194432 6307968 2490444 3745356 1245222 1905446 4194559 10453247 2687142 6837158 2097280 5259392 1245260 3155532 655398 1577766 5526612 5987163 10000536 12303291 14540253 16777215 ) ) (vla-put-GraphicsWinLayoutBackgrndColor (vla-get-display (vla-get-preferences (vlax-get-acad-object))) (nth Couleur OLE_COLOR_LIST)) ) [Edité le 18/8/2005 par Patrick_35] Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 18 août 2005 Posté(e) le 18 août 2005 Je n'ai rien compris à la façon dont marche la routine de Bonus :o pour moi background est une commande réservée au rendu.Le basculement EO EP, quesakecafait là ?Comprends rien, même si suis très interessé. et Patrick_35 a implicitement corrigé mon lisp qui a besoin d'une initialisation des couleurs VB que provoque un prog ionstallé chez moi (pour ca il ne marche pas chez les autres, désolé) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
jifi Posté(e) le 18 août 2005 Auteur Posté(e) le 18 août 2005 Salut Patrick_35, MERCI c'est exactement ce qu'il me fallait ! :heartpump: :red: :laugh: Je pense que ça devrait également intéresser bonuscad. A charge de revanche... enfin si j'y arrive un jour... :angel: A+ Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP http://www.git-cad.ch
Tramber Posté(e) le 18 août 2005 Posté(e) le 18 août 2005 Il manque le curseur, je m'en suis occupé et produis donc ca (qui marche MIEUX) : (vl-load-com) (setq disp (vla-get-display (vla-get-preferences (vlax-get-acad-object)))) (defun faitblanc()(vla-put-GraphicsWinModelBackgrndColor disp 16777215) (vla-put-ModelCrosshairColor disp 0)) (defun faitnoir()(vla-put-GraphicsWinModelBackgrndColor disp 0) (vla-put-ModelCrosshairColor disp 16777215)) Merci bien pour le lien Patrick_35, comme ca je profite de la discussion pour aller + loin, en plus c'était pas long. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
bonuscad Posté(e) le 18 août 2005 Posté(e) le 18 août 2005 J'ais repondu la même, mais en activeX (fonctionne dans les 2 espaces pour Noir ou Blanc) C'est similaire au code de Tramber et Patrick_35, c'est un joyeux mixage des diffèrentes solutions. ;) (defun c:BlackAndWhite ( / disp fonc1 fonc2 togg_bk togg_cr bg_color cr_color) (vl-load-com) (setq disp (vla-get-display (vla-get-preferences (vlax-get-acad-object)))) (if (zerop (getvar "tilemode")) (setq fonc1 '(vla-put-GraphicsWinLayoutBackgrndColor disp bg_color) fonc2 ' (vla-put-LayoutCrosshairColor disp cr_color) togg_bk (getenv "Layout background") togg_cr (getenv "LayoutXhairPickboxEtc") ) (setq fonc1 '(vla-put-GraphicsWinModelBackgrndColor disp bg_color) fonc2 '(vla-put-ModelCrosshairColor disp cr_color) togg_bk (getenv "Background") togg_cr (getenv "XhairPickboxEtc") ) ) (cond ((and (eq togg_bk "0") (eq togg_cr "32767")) (setq bg_color 16777215 cr_color 16711680) ) ((and (eq togg_bk "16777215") (eq togg_cr "16711680")) (setq bg_color 0 cr_color 32767) ) (T (initget "Noir Blanc _Black White") (if (eq (getkword "\nCouleur de fond [Noir/Blanc]?: ") "White") (setq bg_color 16777215 cr_color 16711680) (setq bg_color 0 cr_color 32767) ) ) ) (eval fonc1)(eval fonc2) (princ) ) Pour tramber: BackGround n'est pas une commande, mais une variable d'environnenemt(getenv "Background") pour la couleur de fond dans l'EO[Edité le 18/8/2005 par bonuscad] [Edité le 18/8/2005 par bonuscad] 1 Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jifi Posté(e) le 18 août 2005 Auteur Posté(e) le 18 août 2005 Salut à tous, Merci à vous pour votre aide, j'ai maintenant intégré le dernier code donné par bonuscad à mon menu perso et j'ai créé une petite barre d'outil me permettant de passer soit en fond noir ou en fond blanc. ça fonctionne Nickel Chrome. Cependant, (vous allez dire que je pinaille....) je remarque que la couleur du curseur s'inverse également en noir ou blanc. (setq bg_color 16777215 cr_color 0)(setq bg_color 0 cr_color 16777215) En observant le code de bonuscad, il paraît possible de changer la valeur pour les couleurs du curseur. Seulement, je ne connais pas la liste des valeurs qu'il faut entrer pour par exemple faire en sorte que mon curseur apparaise en couleur 30 d'AutoCAD sur fond noir et en couleur 5 d'AutoCAD sur fond blanc. A priori la liste fournie dans le code de Patrick_35 doit correspondre à ce que je cherche, mais existe-t-il une table de concordance ? Merci d'avance à tous et bonne fin de semaine. :D Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP http://www.git-cad.ch
Tramber Posté(e) le 18 août 2005 Posté(e) le 18 août 2005 A priori la liste fournie dans le code de Patrick_35 doit correspondre à ce que je cherche, mais existe-t-il une table de concordance ? Ben oui, tu prends sa liste et tu as la suite des codes dans l'ordre des numéros. C'est pour ca qu'il propose un (nth Couleur liste) à la fin de sa fonction vla-put-GraphicsWinLayoutBackgrndColor Couleur 30 sera la couleur renvoyée par (nth 30 OLE_COLOR_LIST).Lance l'expression en ayant chargé son lisp et tu auras le numéro de la table de correspondance. Pour Bonuscad, si, si Background est une commande du module de rendu. J'ignorais qu'elle existait en variable d'environnement.Partant de là, je n'avais pas bien lu ton lisp et me demandait ce qui se passait ;) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
bonuscad Posté(e) le 18 août 2005 Posté(e) le 18 août 2005 Jifi J'ai édité mon précédent post. Celui-ci tient compte de tes couleurs, et j'ai rajouté quelques lignes pour que l'execution se fasse en mode bascule sans te poser de question SI l'état initial correspond a tes couleurs (normales ou inverse) Tu peux avoir la correspondance des codes de couleur en procédant comme suit:Tu vas dans les options pour fixer les couleurs normalement, une fois validé, tu les interroges avec (getenv "Background") pour le fond en EO(getenv "XhairPickboxEtc") pour le fond en EO (getenv "Layout background") pour le fond en EP(getenv "LayoutXhairPickboxEtc") pour le curseur en EP Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jifi Posté(e) le 19 août 2005 Auteur Posté(e) le 19 août 2005 Salut, MERCI MERCI MERCI !!!!! :heartpump: :present: :red: Ca fonctionne de mieux en mieux, bientôt je n'aurai plus besoin de cliquer.... ça changera d'après ma pensée..... A+ Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP http://www.git-cad.ch
jifi Posté(e) le 4 août 2008 Auteur Posté(e) le 4 août 2008 Salut, Je reviens avec ce sujet, car j'aimerai savoir comment l'améliorer... Tout fonctionne bien, mais la couleur du vecteur Autotrack reste noire il faudrait donc pouvoir la paramétrer. J'imagine qu'il faut créer des nlles variables "fonc" et "togg" etc... J'ai cherché à modifier le code, mais je me rend compte que mes compétences en lisp ne sont pas encore assez bonnes pour cette tâche. Merci d'avance à ceux qui pourront m'aider a améliorer cette fonction et si en plus il était possible de changer la couleur des marqueurs Autosnap... alors ce serait le top. @plus Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP http://www.git-cad.ch
(gile) Posté(e) le 4 août 2008 Posté(e) le 4 août 2008 Salut Jifi, Pour le vecteur Autotrack : (getenv "Autotracking vector") Pour le marqueur Autosnap : (getenv "Autotracking vector") Fais des test depuis la boite de dialogue Options onglet Affichage > Couleur pur connaître les codes suivant les couleurs. Pour trouver les variables système ou d'environnement j'utilise les LISP statvar et statenv de Bonuscad (voir ici) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
-Olivier- Posté(e) le 25 juin 2013 Posté(e) le 25 juin 2013 Bonjour et merci à vous tous, cela faisait un petit moment que je cherchais à automatisé ceci.Olivier
mathieu Posté(e) le 26 juillet 2018 Posté(e) le 26 juillet 2018 Bon, 5 ans après mais bon ! La même qu'olivier et jifi, je passais toujours par options / affichage / couleur.Le lisp blackandwhite simplifi grandement la chose. Et pour aller un peu plus loin j'ai créer un raccourcis dans AutoCAD.pgp FOND pour *blackandwhite. Voila voila, merci en tout cas au créateur du Lisp !Toujours au top ce forum :)
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