Adam Jurkiewicz
Guest
Wed Oct 06, 2004 12:37 pm
Witam,
Ma ktoś może skrypt albo jakiś przykład jak przypisać sobie do skrótu
klawiszowego włączanie i wyłączanie warstwy (toggle) bo to klikanie
myszkOM doprowadza mnie do szału?
Chodzi o to, żeby pozbyć się tej kretyńskiej funkcji (z helpa do Eagle'a):
"If tPlace or bPlace is selected, t/bNames, t/bValues, t/bOrigins
and t/bDocu are automatically selected, too."
Pozdrawiam,
sword
--
e-mail: sword@NA_DRZEWO_ajpic.zonk.pl
www:
http://ajpic.zonk.pl/
gg#: 1781804
Adam Jurkiewicz
Guest
Thu Oct 07, 2004 8:09 am
Dnia 10/7/2004 7:37 PM, Użytkownik Górski Adam napisał:
Quote:
Np. display none top vias pads
Aby zobaczyc tylko gorna warstwe.
Np. display -vias -pads
Aby wylaczyc tylko pady i przelotki
To znam ale chodzi konkretnie o warstwe t/bplace, chcę miec możliwość
włączania i wyłączania tylko tej jednej, a ona jest połączona z kilkoma
innymi. Niestety to strasznie upierdliwy 'ficzer' i próbuję się go jakoś
pozbyć.
pozdrawiam,
sword
--
e-mail: sword@NA_DRZEWO_ajpic.zonk.pl
www:
http://ajpic.zonk.pl/
gg#: 1781804
Górski Adam
Guest
Thu Oct 07, 2004 9:40 am
Użytkownik Adam Jurkiewicz napisał:
Quote:
Witam,
Ma ktoś może skrypt albo jakiś przykład jak przypisać sobie do skrótu
klawiszowego włączanie i wyłączanie warstwy (toggle) bo to klikanie
myszkOM doprowadza mnie do szału?
Chodzi o to, żeby pozbyć się tej kretyńskiej funkcji (z helpa do Eagle'a):
"If tPlace or bPlace is selected, t/bNames, t/bValues, t/bOrigins
and t/bDocu are automatically selected, too."
Np. display none top vias pads
Aby zobaczyc tylko gorna warstwe.
Np. display -vias -pads
Aby wylaczyc tylko pady i przelotki
Adam Górski
Górski Adam
Guest
Thu Oct 07, 2004 1:10 pm
Użytkownik Adam Jurkiewicz napisał:
Quote:
Dnia 10/7/2004 7:37 PM, Użytkownik Górski Adam napisał:
Np. display none top vias pads
Aby zobaczyc tylko gorna warstwe.
Np. display -vias -pads
Aby wylaczyc tylko pady i przelotki
To znam ale chodzi konkretnie o warstwe t/bplace, chcę miec możliwość
włączania i wyłączania tylko tej jednej, a ona jest połączona z kilkoma
innymi. Niestety to strasznie upierdliwy 'ficzer' i próbuję się go jakoś
pozbyć.
Nie widze problemu
Np. Pod jeden klawisz włączanie display tplace -tdocu
a pod drugi wyłączanie display -tplace
Górski Adam
Guest
Thu Oct 07, 2004 4:40 pm
Użytkownik Adam Jurkiewicz napisał:
Quote:
Dnia 10/7/2004 7:37 PM, Użytkownik Górski Adam napisał:
Np. display none top vias pads
Aby zobaczyc tylko gorna warstwe.
Np. display -vias -pads
Aby wylaczyc tylko pady i przelotki
To znam ale chodzi konkretnie o warstwe t/bplace, chcę miec możliwość
włączania i wyłączania tylko tej jednej, a ona jest połączona z kilkoma
innymi. Niestety to strasznie upierdliwy 'ficzer' i próbuję się go jakoś
pozbyć.
pozdrawiam,
sword
Można też to zrobić pod jednym klawiszem w stylu włącz /wyłącz,ale to
troche wiecej zabawy.
BTW ja mam pod jednym klawiszem
:)
Adam
Adam Jurkiewicz
Guest
Fri Oct 08, 2004 6:01 am
Quote:
Np. Pod jeden klawisz włączanie display tplace -tdocu
a pod drugi wyłączanie display -tplace
No tak ale jeszcze się włączają dodatkowo, Origins, Names i Values
i jak zrobię włącz/wyłącz to stracę te warstwy, które były pokazane.
Dlatego właśnie myślę o skrypcie, który by zapamiętał wyświetlone
warstwy wyłączył/włączył Place i ustawił pozostałe jak były.
Quote:
Można też to zrobić pod jednym klawiszem w stylu włącz /wyłącz,ale to
troche wiecej zabawy. BTW ja mam pod jednym klawiszem
No właśnie o to mi chodzi, mógłbyś się podzielić jak to masz zrobione (priv)?
Miałbym przynajmniej punkt zaczepienia jak się za to zabrać, jeszcze się
w skrypty nie bawiłem ale powoli do tego zmierzam.
Mam jeszcze takie pytanie może będziesz wiedział. Podmontowałem sobie wszystkie
funkcje pod skróty klawiszowe lewy Alt + klawisz, ale to jeszcze w wersji 4.09.
Teraza pracuję na wersji 4.11 no te skróty chodzą teraz nieciekawie bo pod Alt
coś tam sami podmontowali i muszę naciskać ten skrót dwa razy, żeby wywołać
funkcję. Czy da się jakoś wyłączyć te wewnętrzne przypisania eagla, żeby Alt
był wolny i moje skróty chodziły normalnie? Już się do nich przyzwyczaiłem
i nie chciał bym ich zmieniać.
pozdrawiam,
sword
--
e-mail: sword@NA_DRZEWO_ajpic.zonk.pl
www:
http://ajpic.zonk.pl/
gg#: 1781804
Adam Jurkiewicz
Guest
Fri Oct 08, 2004 9:00 am
Dnia 10/8/2004 10:29 AM, Użytkownik Jan Dubiec napisał:
Quote:
Zwykłym skryptem tego nie zrobisz. Myślałem żeby zrobić to przy pomocy ULP,
ale natknąłęm się na problem - do pola obiektu nie można przypisać wartości!.
Np.
[.....]
UL_LAYER l;
l.visible = 0; <- tutaj wyskakuje parse error
[.....]
Wygląda tak, jakby obiekty były read-only. Kurna, ale w helpie nic na ten
temat nie widziałem.
Spokojnie można to zrobić poprzez kombinację ULP-a i skryptu: ULP otczytuje
aktualny stan warstw i generuje odpowiedni skrypt który zostaje zapisany np.
w pliku dupa.scr. I jeśli nasz ULP znalduje się np. w pliku dupa.ulp, to
podpięcie pod jakiś klawisz sekwencji komend "run dupa.ulp; script dupa.scr;"
powinno dać oczekiwany efekt. Problem w tym że jest to IMO mało eleganckie
rozwiązanie.
Wow, pomysł czadowy

ciekawe jak by się rozkładało czasowo takie wywołanie.
Jak się przegryzę przez te skrypty to może spróbuje.
Quote:
AFAIR podpieli pod Alt-a chwilowe przełączanie się na alternatywną siatkę.
No faktycznie jest coś takiego, nawet mi to działa. Jak się prowadzi ścieżkę
to po przytrzymaniu Alt chodzisz z drugim gridem przy czym grid wizualny
pozostaje bez zmian.
Quote:
Przy czym u mnie pod Linuksem nigdy to nie działało, a gdy bawiłem się przez
chwilę wersją pod Win, to ten ficzer też jakoś nie chciał działać. Inna sprawa
że nigdy tego nie potrzebowałem. W każdym bądź razie nie zauważyłem problemu
o którym piszesz.
Poszukam, może da się ten ficzer wyłączyć albo przenieść pod inny klawisz.
Tez z tego nie korzystam bo zmianę gridu mam podmontowaną pod osobne klawisze.
sword
--
e-mail: sword@NA_DRZEWO_ajpic.zonk.pl
www:
http://ajpic.zonk.pl/
gg#: 1781804
Jan Dubiec
Guest
Fri Oct 08, 2004 9:29 am
Adam Jurkiewicz wrote on Fri, 08 Oct 2004 09:01:38 +0200:
Quote:
Np. Pod jeden klawisz włączanie display tplace -tdocu
a pod drugi wyłączanie display -tplace
No tak ale jeszcze się włączają dodatkowo, Origins, Names i Values
i jak zrobię włącz/wyłącz to stracę te warstwy, które były pokazane.
Dlatego właśnie myślę o skrypcie, który by zapamiętał wyświetlone
warstwy wyłączył/włączył Place i ustawił pozostałe jak były.
Zwykłym skryptem tego nie zrobisz. Myślałem żeby zrobić to przy pomocy ULP,
ale natknąłęm się na problem - do pola obiektu nie można przypisać wartości!.
Np.
[.....]
UL_LAYER l;
l.visible = 0; <- tutaj wyskakuje parse error
[.....]
Wygląda tak, jakby obiekty były read-only. Kurna, ale w helpie nic na ten
temat nie widziałem.
Spokojnie można to zrobić poprzez kombinację ULP-a i skryptu: ULP otczytuje
aktualny stan warstw i generuje odpowiedni skrypt który zostaje zapisany np.
w pliku dupa.scr. I jeśli nasz ULP znalduje się np. w pliku dupa.ulp, to
podpięcie pod jakiś klawisz sekwencji komend "run dupa.ulp; script dupa.scr;"
powinno dać oczekiwany efekt. Problem w tym że jest to IMO mało eleganckie
rozwiązanie.
Quote:
Mam jeszcze takie pytanie może będziesz wiedział. Podmontowałem sobie wszystkie
funkcje pod skróty klawiszowe lewy Alt + klawisz, ale to jeszcze w wersji 4.09.
Teraza pracuję na wersji 4.11 no te skróty chodzą teraz nieciekawie bo pod Alt
coś tam sami podmontowali i muszę naciskać ten skrót dwa razy, żeby wywołać
funkcję. Czy da się jakoś wyłączyć te wewnętrzne przypisania eagla, żeby Alt
był wolny i moje skróty chodziły normalnie? Już się do nich przyzwyczaiłem
i nie chciał bym ich zmieniać.
AFAIR podpieli pod Alt-a chwilowe przełączanie się na alternatywną siatkę.
Przy czym u mnie pod Linuksem nigdy to nie działało, a gdy bawiłem się przez
chwilę wersją pod Win, to ten ficzer też jakoś nie chciał działać. Inna sprawa
że nigdy tego nie potrzebowałem. W każdym bądź razie nie zauważyłem problemu
o którym piszesz.
Regards,
/J.D.
Adam Jurkiewicz
Guest
Fri Oct 08, 2004 12:06 pm
Dnia 10/8/2004 2:11 PM, Użytkownik Jan Dubiec napisał:
Quote:
W przypływie weny twórczej napisałem małego ULP-a który tworzy skrypt
w pamięci, tzn. nie ma potrzeby użycia dodatatkowego pliku na dysku na ciało
skryptu. ULP włącza/wyłącza warstwę tPlace zachowując przy tym aktualny stan
warstw tOrigins, tNames, tValues i tDocu.
Dzięki wielkie GURU

i o to chodziło, działa piknie.
Śmiesznie się ta pętlę robi w tym ulpie ale już załapałem jak,
teraz sobie porobię toggle na resztę warstw :)
pozdrawiam,
sword
--
e-mail: sword@NA_DRZEWO_ajpic.zonk.pl
www:
http://ajpic.zonk.pl/
gg#: 1781804
Jan Dubiec
Guest
Fri Oct 08, 2004 12:15 pm
Adam Jurkiewicz wrote on Fri, 08 Oct 2004 12:00:16 +0200:
Quote:
Dnia 10/8/2004 10:29 AM, Użytkownik Jan Dubiec napisał:
[.....]
Spokojnie można to zrobić poprzez kombinację ULP-a i skryptu: ULP otczytuje
aktualny stan warstw i generuje odpowiedni skrypt który zostaje zapisany np.
w pliku dupa.scr. I jeśli nasz ULP znalduje się np. w pliku dupa.ulp, to
podpięcie pod jakiś klawisz sekwencji komend "run dupa.ulp; script dupa.scr;"
powinno dać oczekiwany efekt. Problem w tym że jest to IMO mało eleganckie
rozwiązanie.
Wow, pomysł czadowy
Ja wiem czy czadowy? Sporo ULPów działa w ten sposób - najpierw tworzy skrypt
a później go wykonuje.
Quote:
ciekawe jak by się rozkładało czasowo takie wywołanie.
Tzn. czy działałoby szybko? Tak, w takim prostym przypadku będzie działać
szybko.
[.....]
Quote:
przy czym grid wizualny pozostaje bez zmian.
Hehe, chyba wiem dlaczego mi nie działało.

Regards,
/J.D.
Jan Dubiec
Guest
Fri Oct 08, 2004 1:11 pm
Jan Dubiec wrote on Fri, 8 Oct 2004 11:15:35 +0000 (UTC):
Quote:
Adam Jurkiewicz wrote on Fri, 08 Oct 2004 12:00:16 +0200:
Dnia 10/8/2004 10:29 AM, Użytkownik Jan Dubiec napisał:
[.....]
Spokojnie można to zrobić poprzez kombinację ULP-a i skryptu: ULP otczytuje
aktualny stan warstw i generuje odpowiedni skrypt który zostaje zapisany np.
w pliku dupa.scr. I jeśli nasz ULP znalduje się np. w pliku dupa.ulp, to
podpięcie pod jakiś klawisz sekwencji komend "run dupa.ulp; script dupa.scr;"
powinno dać oczekiwany efekt. Problem w tym że jest to IMO mało eleganckie
rozwiązanie.
Wow, pomysł czadowy
Ja wiem czy czadowy? Sporo ULPów działa w ten sposób - najpierw tworzy skrypt
a później go wykonuje.
W przypływie weny twórczej napisałem małego ULP-a który tworzy skrypt
w pamięci, tzn. nie ma potrzeby użycia dodatatkowego pliku na dysku na ciało
skryptu. ULP włącza/wyłącza warstwę tPlace zachowując przy tym aktualny stan
warstw tOrigins, tNames, tValues i tDocu.
Instrukcja obsługi:
1. Zapisujemy ULP-a do pliku, np. dupa.ulp i umieszczamy go gdzieś na ścieżce
ULP-ów tak aby Eagle go widział.
2. Dla jakiejś kombinacji klawiszy przypisujemy komendę "run dupa.ulp;"
3. Kolejne przyciśnięcia wybranej kombinacji powodują zmianę stanu warstwy
tPlace na przeciwny, tj. jeśli była ona włączona, to po wciśnięciu wybranej
kombinacji będzie wyłączona, itd.
A oto i ULP który może posłużyć jako baza do napisania czegoś bardziej
zaawansowanego:
board(B) {
string cmd = "display";
int tPlace_v, tOrigins_v, tNames_v, tValues_v, tDocu_v;
B.layers(L) {
switch (L.number) {
case LAYER_TPLACE:
tPlace_v = L.visible;
break;
case LAYER_TORIGINS:
tOrigins_v = L.visible;
break;
case LAYER_TNAMES:
tNames_v = L.visible;
break;
case LAYER_TVALUES:
tValues_v = L.visible;
break;
case LAYER_TDOCU:
tDocu_v = L.visible;
break;
}
}
if (tPlace_v == 1) {
cmd += " -tPlace";
} else {
cmd += " tPlace";
}
if (tOrigins_v == 1) {
cmd += " tOrigins";
} else {
cmd += " -tOrigins";
}
if (tNames_v == 1) {
cmd += " tNames";
} else {
cmd += " -tNames";
}
if (tValues_v == 1) {
cmd += " tValues";
} else {
cmd += " -tValues";
}
if (tDocu_v == 1) {
cmd += " tDocu;";
} else {
cmd += " -tDocu;";
}
exit(cmd);
}
Regards,
/J.D.
Adam Jurkiewicz
Guest
Sat Oct 09, 2004 2:55 pm
Quote:
teraz sobie porobię toggle na resztę warstw
No to jak rzekłem tak zrobiłem, zainspirowany wiedzą jaką otrzymałem
wygenerowałem coś takiego:
if (board) board(B)
{
string cmd = "display ";
string Layer_Toggle = strupr (argv[1]);
B.layers(L)
if (!strstr(strupr(L.name), Layer_Toggle))
{
if (L.visible) cmd += "-";
cmd += Layer_Toggle;
break;
}
exit (cmd);
}
Warstwa do zmiany stanu wyświetlania podawana jest jako parametr
linii poleceń (działają skróty nazw):
run toggle top
Nie jestem tylko w tym wypadku pewien czy muszę korzystać z pętli
do testowania aktualnego stanu warstwy czy można się jakoś odwołać
bezpośrednio(?)
sword
--
e-mail: sword@NA_DRZEWO_ajpic.zonk.pl
www:
http://ajpic.zonk.pl/
gg#: 1781804
Jan Dubiec
Guest
Sun Oct 10, 2004 12:22 pm
On Sat, 09 Oct 2004 17:55:38 +0200, Adam Jurkiewicz <sword@ajpic.zonk.pl> wrote:
[.....]
Quote:
Nie jestem tylko w tym wypadku pewien czy muszę korzystać z pętli
do testowania aktualnego stanu warstwy czy można się jakoś odwołać
bezpośrednio(?)
No niestety, AFAIK innej metody nie ma. Wogóle te loop members to mi tak
trochę programowaniem funkcyjnym "zalatują". :-)
Regards,
/J.D.
--
Jan Dubiec, jdx#slackware.pl, mobile: +48 506 790442
Głęboka wiara wymaga płytkiego rozumu i nikłej wiedzy.
Adam Jurkiewicz
Guest
Mon Oct 11, 2004 7:24 am
Dnia 10/10/2004 3:22 PM, Użytkownik Jan Dubiec napisał:
Quote:
No niestety, AFAIK innej metody nie ma. Wogóle te loop members to mi tak
trochę programowaniem funkcyjnym "zalatują".
Trzeba się przystosować, innej rady niema :)
Dzięki za naprowadzenie.
pozdrawiam,
sword
--
e-mail: sword@NA_DRZEWO_ajpic.zonk.pl
www:
http://ajpic.zonk.pl/
gg#: 1781804