Aller au contenu

AUTOCAD - Changer la couleur du fond d\'écran automatiquement ?


jifi

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Une autre solution en lisp mais sans utiliser l'ActiveX

Un 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

Lien vers le commentaire
Partager sur d’autres sites

Salut

Je 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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

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

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

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

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

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]

  • Upvote 1

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

  • 2 ans après...

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

Lien vers le commentaire
Partager sur d’autres sites

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 -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

  • 4 ans après...
  • 5 ans après...

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 :)

Lien vers le commentaire
Partager sur d’autres sites

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é