2P Opublikowano 3 Lutego 2017 Zgłoś Udostępnij Opublikowano 3 Lutego 2017 Mam taki LISP który zmienia kolor tła ekranu z białego na czarny i czarnego na biały. Taki przełącznik. Dodatkowo zmienia kolor wybranych warstw. LISP działał na wcześniejszych wersjach ZWcada, a na 2017 wskazuje błąd. Może ktoś wie dlaczego?? (defun ZYXAK_MT_BandWBackground (/ PREF COL) (ZYXAK_Start) (setq PREF (vla-get-display (vla-get-preferences (vlax-get-acad-Object)))) (setq COL (vlax-variant-value (vlax-variant-change-type (vla-get-GraphicsWinModelBackgrndColor PREF) vlax-Vblong))) (if (zerop COL) (progn (vla-put-GraphicsWinModelBackgrndColor PREF (vlax-Make-Variant 16777215 vlax-Vblong)) (vla-Put-ModelCrosshairColor PREF (vlax-Make-Variant 0 vlax-Vblong)) (command "_-layer" "_C" "T" "255,255,255" (strcat "*" "_WIPEOUT") "") ) ;else (progn (vla-Put-GraphicsWinModelBackgrndColor PREF (vlax-Make-Variant 0 vlax-Vblong)) (vla-Put-ModelCrosshairColor PREF (vlax-Make-Variant 16777215 vlax-Vblong)) (command "_-layer" "_C" "T" "0,0,0" (strcat "*" "_WIPEOUT") "") ) ) (vlax-Release-Object PREF) (ZYXAK_OK) ) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 3 Lutego 2017 Zgłoś Udostępnij Opublikowano 3 Lutego 2017 tak na szybko to dlatego, że IZcadPreferencesDisplay nie ma jeszcze właściwości GraphicsWinModelBackgrndColor postaram się ustalić jak można to rozwiązać Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
2P Opublikowano 3 Lutego 2017 Autor Zgłoś Udostępnij Opublikowano 3 Lutego 2017 W Helpie jest napisane, że ZcadPreferencesDisplay ma właściwość GraphicsWinModelBackgrndColor. Raz mi nawet wpisanie linijki kodu zmieniło kolor tła (na czarny), ale później ta sama linijka kodu już nic nie zdziałała (na inny kolor). Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 3 Lutego 2017 Zgłoś Udostępnij Opublikowano 3 Lutego 2017 chciałem podejrzeć wartość tej właściwości na działającym ZWCADzie. (setq display (vla-get-display (vla-get-preferences (vlax-get-acad-object)))) ( vlax-dump-object display t ) zobaczyłem że nil i (RO) czyli ReadOnly. więc zapytałem ZWSOFT jak można to ogarnąć Dam znać co odpowiedzą. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jacnightingale Opublikowano 27 Lutego 2017 Zgłoś Udostępnij Opublikowano 27 Lutego 2017 Nadal nie ma żadnego szybkiego sposobu na przełączanie tła pomiędzy białym i czarnym w Zwcad 2017? Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mayster Opublikowano 27 Lutego 2017 Zgłoś Udostępnij Opublikowano 27 Lutego 2017 Jakiś sensowniejszy skrót klawiszowy byłby całkiem przydatny. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dmatusz3 Opublikowano 28 Lutego 2017 Zgłoś Udostępnij Opublikowano 28 Lutego 2017 Obecnie kolor tła można przełączyć jedynie w opcjach programu. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jacnightingale Opublikowano 28 Lutego 2017 Zgłoś Udostępnij Opublikowano 28 Lutego 2017 1 minutę temu, dmatusz3 napisał: Obecnie kolor tła można przełączyć jedynie w opcjach programu. Kiepsko. W takim razie z niecierpliwością czekam na możliwość sprawniejszego przełączania koloru tła, tak jak to było w starszych wersjach. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 12 Maja 2017 Zgłoś Udostępnij Opublikowano 12 Maja 2017 W najnowszej wersji po małej modyfikacji działa: (defun ZYXAK_MT_BandWBackground (/ PREF COL) (setq PREF (vla-get-display (vla-get-preferences (vlax-get-acad-object)))) (setq COL (vlax-variant-value (vlax-variant-change-type (vla-get-GraphicsWinModelBackgrndColor PREF) vlax-Vblong))) (if (zerop COL) (progn (vla-put-GraphicsWinModelBackgrndColor PREF 16777215 ) (vla-Put-ModelCrosshairColor PREF 0 ) ) (progn (vla-Put-GraphicsWinModelBackgrndColor PREF 0 ) (vla-Put-ModelCrosshairColor PREF 16777215 vlax-Vblong ) ) ) (vlax-release-object PREF) ) zmiana koloru_1.lsp Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jacnightingale Opublikowano 18 Maja 2017 Zgłoś Udostępnij Opublikowano 18 Maja 2017 Dnia 12.05.2017 o 13:50, kruszynski napisał: W najnowszej wersji po małej modyfikacji działa: zmiana koloru_1.lsp Ok, tylko człowiek zielony i nie wie jak to uruchomić. Tzn. lsp wiem jak wczytać tylko jak tę aplikację uruchomić. Jaka komenda? Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dmatusz3 Opublikowano 18 Maja 2017 Zgłoś Udostępnij Opublikowano 18 Maja 2017 Ten LISP wydaje się być częścią większego, ale po pewnych poprawkach, myślę, że będzie działać. Nazwy poleceń można zmienić w samym pliku edytorem tekstu. Poniżej zaznaczyłem miejsce. Uruchomienie skryptu na szybko lub klasycznie. Oto sam skrypt biale_czarne.lsp Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Martin_S Opublikowano 18 Maja 2017 Zgłoś Udostępnij Opublikowano 18 Maja 2017 A mozna zamiast czarne zrobic autocadowe ciemne 33,40,48...ewentualnie biale_ciemne.lsp? Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dmatusz3 Opublikowano 18 Maja 2017 Zgłoś Udostępnij Opublikowano 18 Maja 2017 Kolor 30, 40 , 48 to zapis RGB. Można go prosto przeliczyć na kolor w formacie dziesiętnym i taki wpisać do skryptu. W poprzednim skrypcie jest niestety mały błąd. Zamieszczam nowy, są w nim dostępne 3 polecenia: czarne. biale, szare. biale_czarne_szare.lsp Można sobie pozmieniać samemu kolory tła i kursora (podkreślone na czerwono). Martin_S 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
perlon Opublikowano 18 Maja 2017 Zgłoś Udostępnij Opublikowano 18 Maja 2017 Gwoli uzupełnienia wartość dziesiętna to R*65536 + G*256 + B Wartości R,G,B w zakresie 0 do 255 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Martin_S Opublikowano 18 Maja 2017 Zgłoś Udostępnij Opublikowano 18 Maja 2017 (edytowane) Wyszedł kolor 48,40,33 nie ten - jakis brązowawy ...a autocadowy grafitowy to 33,40,48 .... było blisko ....ale lisp działa co do zasady ;) kolor to 3156001 R+G*256+B*65536 = 33+40*256+48*65536 = 3156001biale_czarne_szare.lsp Edytowane 18 Maja 2017 przez Martin_S Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jacnightingale Opublikowano 19 Maja 2017 Zgłoś Udostępnij Opublikowano 19 Maja 2017 Świetna robota! Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dmatusz3 Opublikowano 19 Maja 2017 Zgłoś Udostępnij Opublikowano 19 Maja 2017 Jeszcze nieco zmodyfikowaliśmy program w taki sposób, aby nie trzeba było przeliczać. Teraz powinno być wszystko jasne. (defun C:Szare ( / ) (BGColor 30 40 48 ) (CursorColor 255 255 255) ) (defun C:białe ( / ) (BGColor 255 255 255 ) (CursorColor 0 0 0 ) ) (defun c:czarne ( / ) (BGColor 0 0 0 ) (CursorColor 255 255 255) ) (defun BGColor ( R G B / PREF ) (setq PREF ( vla-get-display ( vla-get-preferences (vlax-get-acad-object ) ) ) ) (vlax-put-property PREF 'GraphicsWinModelBackgrndColor ( RGB->Int R G B ) ) (vlax-release-object PREF) ) (defun CursorColor ( R G B / ) ( setq PREF ( vla-get-display ( vla-get-preferences (vlax-get-acad-object ) ) ) ) (vlax-put-property PREF 'ModelCrosshairColor ( RGB->Int R G B ) ) (vlax-release-object PREF) ) (defun RGB->Int ( R G B / ) (+ R ( * G 256 ) ( * B 65536 ) ) ) biale_czarne_szare2.lsp gruzin 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gruzin Opublikowano 23 Maja 2017 Zgłoś Udostępnij Opublikowano 23 Maja 2017 ślicznie i przejrzyście Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mayster Opublikowano 23 Maja 2017 Zgłoś Udostępnij Opublikowano 23 Maja 2017 @dmatusz3 jak zawsze pomocny Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.