wtyczki atakują !

W tym dziale zamieszczamy informacje o nowych wtyczkach. Można tu uzyskać pomoc na temat działania wtyczek
Awatar użytkownika
walklim
____
____
Posty: 242
Rejestracja: 19 gru 2006, 00:32
Lokalizacja: Sosnowiec

wtyczki atakują !

Post autor: walklim »

Zaciekawiony programikiem Fafal-a popełniłem coś takiego:
Obrazek
do pobrania:
http://www.pocketspog.republika.pl/zas/offset_linii.zip

wtyczka liczy punkty wzdłuż linii zadanej punktami o współrzednych xyz z odbiciem -lewo/+prawo i ±góra/dół.
Dla zamknietego poligonu powtarzamy na końcu numer punktu pierwszego. gybym mógł pobrać z c-geo numery punktów zaznaczonych w tabeli roboczej (albo skopiowanych do schowka) to programik ten i nastepne można uprościć. Chodzi mi po głowie bezpośrednia wymiana pikiet [AutoCad (sam lub + np Mapa SG)]<->[C-geo], Codziennie robie chyba ze 20 operacji import/export do pliku txt - nudne to.
Pozdrawiam Waldek Klimek
Awatar użytkownika
FaFaL
Team
Team
Posty: 3113
Rejestracja: 11 lip 2005, 14:09
Lokalizacja: Opole..Kraków
Kontakt:

Re: wtyczki atakują !

Post autor: FaFaL »

Widzę, że narzędzia ze PocketSPOGa znajdą się w C-GEO :) Ładnie :) ja obiecuję że kiedyś napiszę wtyczkę wpasowującą osie konstrukcyjne w zbiór punktów (osie podłużne i poprzeczne o zadanej odległości między sobą). Fajnie, że wtyczki robię się bardziej popularne :)
Pozdrawiam Rafał Kocierz
Awatar użytkownika
FaFaL
Team
Team
Posty: 3113
Rejestracja: 11 lip 2005, 14:09
Lokalizacja: Opole..Kraków
Kontakt:

Re: wtyczki atakują !

Post autor: FaFaL »

Chodzi mi po głowie bezpośrednia wymiana pikiet [AutoCad (sam lub + np Mapa SG)]<->[C-geo], Codziennie robie chyba ze 20 operacji import/export do pliku txt - nudne to.
Takie cos mozna juz teraz sobie zrobic, piszesz program jako wtyczke, jesli zamkniesz okno mapy i tabeli to powinno sie udac z poziomu wtyczki otworzyc baze punktow c-geo, z niej odczytujesz punkty zaznaczone i wstawiasz je do autocada za pomoca serwera OLE, przeniesc punkty z AutoCada do c-geo mozna juz latwo zrobic bezposrednio do c-geo tak jak zrobiles w swojej wtyczce...
Pozdrawiam Rafał Kocierz
Awatar użytkownika
walklim
____
____
Posty: 242
Rejestracja: 19 gru 2006, 00:32
Lokalizacja: Sosnowiec

Re: wtyczki atakują !

Post autor: walklim »

droga na skróty z C_GEO do autocada, niezbyt eleganckie ale działa. mozna wysłać z tabeli roboczej
punkty mieszczące się w zadanej numeracji do otwartego rysunku dwg. Gdyby AutoCad nie byl uruchomiony wtyczka powinna go odpalić.

Obrazek

Rozpakować archiwum:
http://www.pocketspog.republika.pl/zas/doCada.zip
do katalogu "wtyczki" (pliki dwg i exe). Testowałem na Autocadzie 2008.
Pozdrawiam Waldek Klimek
Awatar użytkownika
grzes
Team
Team
Posty: 2875
Rejestracja: 18 mar 2005, 22:01

Re: wtyczki atakują !

Post autor: grzes »

walklim pisze:gybym mógł pobrać z c-geo numery punktów zaznaczonych w tabeli roboczej (albo skopiowanych do schowka) to programik ten i nastepne można uprościć.
Dodalem taką możliwość. Ponizej linki do nowych wersji. W skrocie nowe funkcjonalności beda rozrozniane przez parametr dwData. W tej chwili mamy:
dwData=0 - zapis odczyt punktu
dwData=1 - odczyt punktow zaznaczonych w tabeli - zwracana jest tablica (niestety musi miec na sztywno zadeklarowany rozmiar - w tej chwili ustawione na max 5000 punktów).

Kod: Zaznacz cały

arr_geo_t = array[0..5000] of packed record nr:string[15]; x,y,z:double; k : string[10]; end;

Jezeli jakas wartość (x,y,z) nie wystepuje (jest pusta) to zwracana jest liczba 1e20.
Wartości z tej tablicy mozna oczywiście przepisac do swoich struktur. W zalaczonym przykladzie zaczytane punkty wyswietlaja sie w polu memo.

plik exe wtyczki
źródla tej wtyczki w delphi
aktualny plik exe c-geo ktory obługuje tą nową komunikację
pozdrawiam
grzes
Awatar użytkownika
FaFaL
Team
Team
Posty: 3113
Rejestracja: 11 lip 2005, 14:09
Lokalizacja: Opole..Kraków
Kontakt:

Re: wtyczki atakują !

Post autor: FaFaL »

Bedzie sie dzialo :)
Pozdrawiam Rafał Kocierz
Awatar użytkownika
walklim
____
____
Posty: 242
Rejestracja: 19 gru 2006, 00:32
Lokalizacja: Sosnowiec

zaznaczone punkty

Post autor: walklim »

odbiór zaznaczonych punktów działa jak trzeba ! bardzo dziekuję za super narzędzie.
pod linkiem: http://www.pocketspog.republika.pl/zas/doCada.zip
wtyczka doCada obsługująca punkty zaznaczone w tabeli.
No to czas by po niedzieli pojawiła się wtyka realizująca wymianę punktów Cad<->CGEO w obie strony. już blisko.
Pozdrawiam Waldek Klimek
Awatar użytkownika
FaFaL
Team
Team
Posty: 3113
Rejestracja: 11 lip 2005, 14:09
Lokalizacja: Opole..Kraków
Kontakt:

Re: wtyczki atakują !

Post autor: FaFaL »

SPOGu jesteś wielki ;) czekam z niecierpliwością na dwustronną komunikację :)
Pozdrawiam Rafał Kocierz
Awatar użytkownika
walklim
____
____
Posty: 242
Rejestracja: 19 gru 2006, 00:32
Lokalizacja: Sosnowiec

Re: wtyczki atakują !

Post autor: walklim »

Siedzi człowiek przy kompie i klika jakieś mapy - do lepiej nie wiedzieć jakich celów - to dla rozrywki se Delphi od czasu do czasu włączy...
programik powstał szybko bo mam sporo gotowców, zainteresowałem sprawą Stanisława Plensa by nadał wtyczce więcej bajerów, co ułatwi pracę uzytkownikom "Dwóch Jedynie Słusznych Aplikacji" :)
transfer punktów w te i wewte poniżej:

http://www.pocketspog.republika.pl/zas/PunktyACAD.zip
Pozdrawiam Waldek Klimek
Awatar użytkownika
FaFaL
Team
Team
Posty: 3113
Rejestracja: 11 lip 2005, 14:09
Lokalizacja: Opole..Kraków
Kontakt:

Re: wtyczki atakują !

Post autor: FaFaL »

Wtyczka działa super, o to chodziło :) Sprawdzone na AutoCADzie 2010
Pozdrawiam Rafał Kocierz
Awatar użytkownika
grzes
Team
Team
Posty: 2875
Rejestracja: 18 mar 2005, 22:01

Re: wtyczki atakują !

Post autor: grzes »

Kolejne wersja:

dwData=0 - zapis odczyt punktu
dwData=1 - odczyt punktow zaznaczonych w tabeli - zwracana jest tablica (niestety musi miec na sztywno zadeklarowany rozmiar - w tej chwili ustawione na max 5000 punktów).
dwData=2 - odczyt zaznaczonego obiektu na mapie. Wynik przychodzi w postaci:

Kod: Zaznacz cały

O(1;;100.001;100.001;1e20)(@19;;100;200;1e20)(2;;200.002;200;1e20)(@20;;200;100;1e20)
Pierwszy znak to litera O lub Z w zaleznosci od tego czy obiekt otwarty czy zamkniety. W nawiasach () po kolei numer, kod, x, y, h oddzielone średnikami. Wartości 1e20 oznaczaja brak danej wspolrzednej
dwData=3 - zapis obiektu na mape

Kod: Zaznacz cały

o(100;100)(100;200)(200;200)(200;100)
Pierwszy znak to litera O lub Z jak w pkt wyzej. Pozniej wspolrzedne (x;y). Przy zapisie zrezygnowalem z podawania numerow. Jesli w tabeli jest juz punkt o odpowiadajacych wspolrzednych to obiekt automatycznie zostanie dociagniety do tego punktu.

Nowe przykłady:
plik exe wtyczki
źródla tej wtyczki w delphi
aktualny plik exe c-geo ktory obługuje tą nową komunikację
pozdrawiam
grzes
Awatar użytkownika
FaFaL
Team
Team
Posty: 3113
Rejestracja: 11 lip 2005, 14:09
Lokalizacja: Opole..Kraków
Kontakt:

Re: wtyczki atakują !

Post autor: FaFaL »

Właśnie piszę wtyczkę która skorzysta z ostatniej możliwości :) Grześ, jesteś Wielki. Tak się jednak zastanawiam, już mamy dostęp do punktów, dostęp do mapy, mogę zapisywać zadania w takich samych formatach jak C-GEO, a czy da się zrobić zapis do raportów ? Nie żeby to było coś ważnego, ale większość moich problemów to zadania obliczeniowe z których powstają raporty, mogę je wsadzać do swoich programów, ale zastanawiałem się czy mogą lądować do wspólnego kosza z raportami C-GEO?
Pozdrawiam Rafał Kocierz
Awatar użytkownika
grzes
Team
Team
Posty: 2875
Rejestracja: 18 mar 2005, 22:01

Re: wtyczki atakują !

Post autor: grzes »

FaFaL pisze:a czy da się zrobić zapis do raportów ?
Da się na pewno - tylko dobrze by bylo zeby byly sformatowane w rtf-ie lub ewentualnie w htmlu
pozdrawiam
grzes
Awatar użytkownika
FaFaL
Team
Team
Posty: 3113
Rejestracja: 11 lip 2005, 14:09
Lokalizacja: Opole..Kraków
Kontakt:

Re: wtyczki atakują !

Post autor: FaFaL »

w moim programie moge wrzucić raport do komponentu RichEdit i jego zawartość przelać do C-GEO - tak byłoby chyba najwygodniej
Pozdrawiam Rafał Kocierz
Awatar użytkownika
grzes
Team
Team
Posty: 2875
Rejestracja: 18 mar 2005, 22:01

Re: wtyczki atakują !

Post autor: grzes »

FaFaL pisze:w moim programie moge wrzucić raport do komponentu RichEdit i jego zawartość przelać do C-GEO - tak byłoby chyba najwygodniej
ok, przygotuje cos
pozdrawiam
grzes
Awatar użytkownika
FaFaL
Team
Team
Posty: 3113
Rejestracja: 11 lip 2005, 14:09
Lokalizacja: Opole..Kraków
Kontakt:

Re: wtyczki atakują !

Post autor: FaFaL »

Ta najnowsza beta C-GEO to chyba nie do końca dobrze działa, nie wszystkie projekty chcą się otworzyć, a może to nie wina bety, tylko same mi się zepsuły :/
Pozdrawiam Rafał Kocierz
Awatar użytkownika
grzes
Team
Team
Posty: 2875
Rejestracja: 18 mar 2005, 22:01

Re: wtyczki atakują !

Post autor: grzes »

Moze ktos cos namieszal - ja nie widze zeby cos nie dzialalo - jakis przykladowy zly projekt by sie przydal do testow.
pozdrawiam
grzes
Awatar użytkownika
FaFaL
Team
Team
Posty: 3113
Rejestracja: 11 lip 2005, 14:09
Lokalizacja: Opole..Kraków
Kontakt:

Re: wtyczki atakują !

Post autor: FaFaL »

Sprawdziłem właśnie i z większością projektów jest ok, więc chyba coś u mnie bazy się sknociły. Co do rysowania linii na mapie przez wtyczkę to mam problem, na świeżych mapach się rysuje, a jak robię na starszych to nie bardzo ... ? może tylko coś u mnie nie tak ? Dwa przykładowe projekty przesłałem..
Pozdrawiam Rafał Kocierz
Awatar użytkownika
walklim
____
____
Posty: 242
Rejestracja: 19 gru 2006, 00:32
Lokalizacja: Sosnowiec

uchwyt CGEO

Post autor: walklim »

witam , ja jeszcze w innej kwestji. wtyczka transferu punktów może byc uruchomiona z autocada np autolispowym poleceniem (startapp "PunktyCGEO") popietym pod przycisk lub menu.
ot dla wygody uzytkownika który ma otwarte CGEO ale pracuje w autocad-ie i chce szybko wysłać kilka punktów do c-geo (np by dorobić dziennik pomiarów tachimetrycznych - a to oszust !). wtedy wtyczka musi sama znaleźć uchwyt do CGEO, na razie poradziłem sobie tak:

if ParamStr(4) = '' then //wtyczka uruchomiona z ACADa
_uchCGEO:=FindWindow('TMainForm',nil);

wszystko będzie OK dopóki nie uruchomię innej aplikacji z nazą klasy 'TMainForm' a nazwa nie jest unikalna.

Jak to rozwiazać by działało na 100% ?
Pozdrawiam Waldek Klimek
energeo
VIP
VIP
Posty: 962
Rejestracja: 19 mar 2005, 00:14

Re: wtyczki atakują !

Post autor: energeo »

Spróbuj do klasy dodać nazwę okna chyba "C-GEO" tam łapie, tak przynajmniej pamiętam z testów.
Wyżej ("TApplication","C-GEO dla windows").
Mapa i tabela np. z RegEX bo nazwy dynamiczne (zdaje się że nowsze Delphi to mają, mam archaik i dawno nie dotykałem).
Ale Grzes wie lepiej.
...
Widzę że trzeba zakasać rękawy :) , tylko ta doba taka krótka.
pozdrawiam
wini
Awatar użytkownika
walklim
____
____
Posty: 242
Rejestracja: 19 gru 2006, 00:32
Lokalizacja: Sosnowiec

Re: wtyczki atakują !

Post autor: walklim »

dzięki "energeo" , niestety kombinacje z 'TApplication' i 'C-GEO dla windows' zwracają zły uchwyt. może "grzes" coś zaradzi.

dodane:
działa przez wyszukiwanie okna z textem 'Bieżący projekt' : uch_app := FindWindowExtd('Bieżący projekt');
FindWindowExtd znalazłem tu: http://www.delphigeist.com/2009/09/find ... title.html

działa ale stylem to nie śmierdzi.

wtyczka w aktualnej wersji: http://www.pocketspog.republika.pl/zas/PunktyACAD.zip
Pozdrawiam Waldek Klimek
Awatar użytkownika
grzes
Team
Team
Posty: 2875
Rejestracja: 18 mar 2005, 22:01

Re: wtyczki atakują !

Post autor: grzes »

walklim pisze: działa przez wyszukiwanie okna z textem 'Bieżący projekt' : uch_app := FindWindowExtd('Bieżący projekt');
To samo chcialem zaproponować - chyba nic lepszego nie znajdziemy.
Wklejam funkcję żeby została w tym wątku.

Kod: Zaznacz cały

function FindCGEO: HWND;
var
  hWndTemp: hWnd;
  iLenText: Integer;
  cTitletemp: array [0..254] of Char;
  sTitleTemp: string;
begin
  result := 0;
  hWndTemp := FindWindow(nil, nil);
  while hWndTemp <> 0 do begin
    iLenText := GetWindowText(hWndTemp, cTitletemp, 255);
    sTitleTemp := cTitletemp;
    sTitleTemp := UpperCase(copy( sTitleTemp, 1, iLenText));
    if pos( ' PROJEKT:', sTitleTemp ) <> 0 then Break;
    hWndTemp := GetWindow(hWndTemp, GW_HWNDNEXT);
  end;
  result := hWndTemp;
end;
pozdrawiam
grzes
ODPOWIEDZ