Może komuś się przyda taki Lisp...


2P
 Share

Recommended Posts

Zadałem kiedyś tu na forum pytanie na jakim kolorze okna rysujecie. Białym, szarym, czarnym?

W naszej pracowni zdecydowanie przeważa biały, ale bardzo często kooperanci przysyłają rysunki źle widoczne na naszych komputerach... Cóż widać kochają żółty i czarne tło ;)

Kiedyś moi współpracownicy poprosili mnie o napisanie skryptu działającego jako przełącznik koloru ekranu. Ten skrypt jest banalny (1 lekcja Lispa) ale myślę, że może komuś się przydać, szczególnie jeśli podepnie się go pod "przycisk" w toolbarze.

(defun c:bw ()

(setq color1 7

color2 250

color (getvar "bkgcolor")

)

(if (= color color1)

(command "_bkgcolor" color2)

;else

(command "_bkgcolor" color1)

)

)

Liczby 7 i 250 to kolory przełączanych ekranów - można sobie je zmienić wg uznania...

Pzdr.

=2P=

Link to comment
Share on other sites

Bardzo fajny pomysł!

Jakiś czas temu pisałem, że przestrzeń papieru i modelu maja jednakowy kolor, tak było w 2008. Wtedy ten problem rozwiązałem za pomocą dwóch przycisków.

^C^C_bkgcolor 255

^C^C_bkgcolor 0

Ale jeden przycisk jest lepszy.

Link to comment
Share on other sites

  • 2 years later...

Ano nie działa w zwcad+

znalazłem innego lispa który jednym poleceniem TBC zmienia kolor modelu lub papaieru z białego na czarne.

W zwcad 2012+ BETA - działał, a teraz w stabilnych wersjach już nie działa. Lisp oczywiście śmiaga pod AC.

Zamierzam go przerobić ale nie mam ostatnio czasu.

tutaj kod:

;=========================================================================
(defun c:TBC (/ pref col tm) 
 (setq tm (getvar "tilemode"))
 (setq pref (vla-get-display
       (vla-get-Preferences
                 (vlax-get-acad-object)
              )
     )
 )
 (if (zerop tm)
   (setq cur (vla-get-graphicswinlayoutbackgrndcolor pref))
   (setq cur (vla-get-graphicswinmodelbackgrndcolor pref))
 )
 (setq col (vlax-variant-value
      (vlax-variant-change-type
        cur
        vlax-vblong
      )
    )
 )
 (if (not (or (eq col 0) (eq col 16777215)))
   (setq col 0)
 )
 (cond ((zerop tm)
 (vla-put-graphicswinlayoutbackgrndcolor
     pref
     (vlax-make-variant (abs (- col 16777215)) vlax-vblong)
 )
 (vla-put-layoutcrosshaircolor
     pref
     (vlax-make-variant col vlax-vblong)
 )
)
(t
 (vla-put-graphicswinmodelbackgrndcolor
     pref
     (vlax-make-variant (abs (- col 16777215)) vlax-vblong)
 )
 (vla-put-modelcrosshaircolor
     pref
     (vlax-make-variant col vlax-vblong)
 )
)
 )
 (vlax-release-object pref)
 (princ)
)
;=========================================================================

Link to comment
Share on other sites

  • 2 years later...
Guest
This topic is now closed to further replies.
 Share