Niby ten mechanizm istnieje już od ośmiu lat ale chyba nadal niewielu użytkowników o nim wie i aktywnie z niego korzysta. Otóż od grudnia 2010 r. wprowadzono możliwość współpracy programu C-Geo z ,,wtyczkami" - zewnętrznymi programami uruchamianymi z poziomu C-Geo.
Programy takie wykorzystują różne elementy funkcjonalności C-Geo, np. zasoby bazy danych współrzędnych geodezyjnych, obiekty wektorowe mapy numerycznej, zapis wyników obliczeń do raportów. Autorzy C-Geo udostępnili odpowiednie mechanizmy, które umożliwiają korzystanie z powyższych funkcji C-Geo we własnych programach.
Więc, jeśli masz pojęcie o programowaniu i potrzebujesz coś policzyć, a zespół od C-Geo nie chce/nie może tego napisać, to zrób to sam.
Wtyczki są tworzone przez niezależnych programistów - najczęściej są to zwykli użytkownicy C-Geo, którzy potrafią programować w DELPHI, (Visual Basic i inne), zainteresowani realizacją własnych potrzeb obliczeniowych przy wsparciu możliwości programu C-Geo. Mogą oni udostępniać swoje programy całej społeczności użytkującej C-Geo. Wtyczki umożliwiają realizację czasem bardzo specjalistycznych zadań geodezyjnych, które wymagałyby normalnie poświęcenia wielu godzin na ich opracowanie bez wspomagania dedykowanym oprogramowaniem.
Menadżer wtyczek
C-Geo ma wbudowany menadżer wtyczek, który w prosty sposób umożliwia przeglądanie dostępnych na dany moment wtyczek, informacji o ich działaniu i instalację wtyczek w swoim środowisku.
Programy takie wykorzystują różne elementy funkcjonalności C-Geo, np. zasoby bazy danych współrzędnych geodezyjnych, obiekty wektorowe mapy numerycznej, zapis wyników obliczeń do raportów. Autorzy C-Geo udostępnili odpowiednie mechanizmy, które umożliwiają korzystanie z powyższych funkcji C-Geo we własnych programach.
Więc, jeśli masz pojęcie o programowaniu i potrzebujesz coś policzyć, a zespół od C-Geo nie chce/nie może tego napisać, to zrób to sam.
Wtyczki są tworzone przez niezależnych programistów - najczęściej są to zwykli użytkownicy C-Geo, którzy potrafią programować w DELPHI, (Visual Basic i inne), zainteresowani realizacją własnych potrzeb obliczeniowych przy wsparciu możliwości programu C-Geo. Mogą oni udostępniać swoje programy całej społeczności użytkującej C-Geo. Wtyczki umożliwiają realizację czasem bardzo specjalistycznych zadań geodezyjnych, które wymagałyby normalnie poświęcenia wielu godzin na ich opracowanie bez wspomagania dedykowanym oprogramowaniem.
Menadżer wtyczek
C-Geo ma wbudowany menadżer wtyczek, który w prosty sposób umożliwia przeglądanie dostępnych na dany moment wtyczek, informacji o ich działaniu i instalację wtyczek w swoim środowisku.
Przykładowa wtyczka ObliGEO.OkręgiMNK (Autor:FaFaL) pobiera punkty z tabeli współrzędnych, wylicza metodą najmniejszych kwadratów promień i punkt środka okręgu, który zapisuje do tabeli współrzędnych C-Geo.
Obecnie dostępne są m.in.:
1. Wyznaczanie środka i promienia okręgu na podstawie wielu punktów na łuku
2. Eksport i import punktów z tabeli współrzędnych C-GEO wprost do AutoCAD
3. Wpasowanie prostej w zbiór punktów i jej umieszczenie na aktywnej mapie
4. Podział łuku na zadane odcinki według różnych kryteriów
5. Eksport punktów do Nikona 400/310
6. Eksport zadania - wyświetlanie katalogu zadań bieżącego projektu w eksploratorze Windows
7. Import punktów z programu Winkalk
8. Link do wskazanego projektu na pulpit Windows
9. Wpasowanie płaszczyzny w zbiór punktów metodą najmniejszych kwadratów
10. Obliczanie punktów linii odsuniętej w poziomie i wysokościowo od zadanej linii
11. Przenoszenie punktów bezpośrednio z C-GEO do AutoCAD i w drugą stronę (działa także dla zamienników AutoCAD)
1. Wyznaczanie środka i promienia okręgu na podstawie wielu punktów na łuku
2. Eksport i import punktów z tabeli współrzędnych C-GEO wprost do AutoCAD
3. Wpasowanie prostej w zbiór punktów i jej umieszczenie na aktywnej mapie
4. Podział łuku na zadane odcinki według różnych kryteriów
5. Eksport punktów do Nikona 400/310
6. Eksport zadania - wyświetlanie katalogu zadań bieżącego projektu w eksploratorze Windows
7. Import punktów z programu Winkalk
8. Link do wskazanego projektu na pulpit Windows
9. Wpasowanie płaszczyzny w zbiór punktów metodą najmniejszych kwadratów
10. Obliczanie punktów linii odsuniętej w poziomie i wysokościowo od zadanej linii
11. Przenoszenie punktów bezpośrednio z C-GEO do AutoCAD i w drugą stronę (działa także dla zamienników AutoCAD)
Komunikacja wtyczek z C-Geo
Menu ,,Wtyczki'' pojawia się tylko wtedy, kiedy w katalogu w którym zainstalowany jest program (domyślnie C:/C-Geo}) utworzony zostanie podkatalog wtyczki. Umieszczanie w nim plików programów *.exe lub skrótów *.ink albo programów wsadowych *.bat powoduje, że przy starcie C-Geo w menu ,,Wtyczki'' pojawia się lista programów. Każdy program z tego menu wywoływany jest z trzema parametrami: ścieżka aktualnego projektu, nazwa aktualnej tabeli roboczej i nazwa tabeli aktywnego okna mapy/bazy (o ile jakieś okno tego typu jest aktywne).
Operacje na punktach
dwData=0 - zapis odczyt punktu,
dwData=1 - odczyt punktów zaznaczonych w tabeli - zwracana jest tablica (niestety musi mieć na sztywno zadeklarowany rozmiar, w tej chwili ustawione maksimum 5000 punktów),
dwData=2 - odczyt zaznaczonego obiektu na mapie; wynik przychodzi w postaci: 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 zależności od tego czy obiekt otwarty czy zamknięty. W nawiasach () zapisane są po kolei numer, kod, x, y, h oddzielone średnikami. Wartości 1e20 oznaczają brak danej współrzędnej.
dwData=3 - zapis obiektu na mapę, o(100;100)(100;200)(200;200)(200;100)
Pierwszy znak to litera O lub Z jak opisano wyżej. Później współrzędne(x;y). Przy zapisie zrezygnowano z podawania numerów. Jeśli w tabeli jest już punkt o odpowiadających współrzędnych to obiekt automatycznie zostanie dociągnięty do tego punktu.
dwData=4 - przekazanie raportu w formacie rtf,
dwData=5 - przekazanie raportu w formacie html - chyba łatwiejsza metoda
formatowania niż w rtf,
dwData=6 - włączenie dla aktualnie aktywnej mapy trybu zwracania współrzędnych kliknięcia myszką. Dane przychodzą w takim samym formacie jak odczyt
punktu z bazy,czyli: nr#9kod#9x#9y#9z#9. W przypadku kliknięcia na mapie w puste pole czyli wtedy gdy nie zaznaczy się punkt, wysyłane są tylko wartości xy: #9#9x#9y#9#9
dwData=7 - informacja zwrotna: przyszły współrzędne kliknięcia,
dwData=8 - informacja zwrotna: użytkownik wybrał jakieś narzędzie
z mapy (np. zoom) co skutkuje wyłączeniem funkcji zwracania współrzędnych do wtyczki. W demo wtyczki (w ramce Obsługa klikania na mapie) jest opcja wstawiania przekreślonego kółka w miejscu kliknięcia na mapie.
Zaznaczanie na mapie kilku obiektów i pobieranie ich do wtyczki. Poszczególne obiekty oddzielone są znakiem | czyli w wyniku otrzymujemy np: O(1;;100.001;100.001;1e20)(@19;;100;200;1e20) (2;;200.002;200;1e20) (@20;;200;100;1e20)|Z(11;;100.001;100.001;1e20)(12;;100;200;1e20)
Raporty wysyłamy jako string (kod rtf/htm). Przed treścią raportu można opcjonalnie dodać nazwę raportu jaka będzie wyświetlać się. Nazwę oddzielamy znakiem #9 od treści raportu: nazwa_raportu#9treść_raportu Jeżeli nazwa nie zostanie podana, to raport zostanie zapisany pod nazwą Raport z wtyczki.
Opis zapisu obiektów gra?cznych
Menu ,,Wtyczki'' pojawia się tylko wtedy, kiedy w katalogu w którym zainstalowany jest program (domyślnie C:/C-Geo}) utworzony zostanie podkatalog wtyczki. Umieszczanie w nim plików programów *.exe lub skrótów *.ink albo programów wsadowych *.bat powoduje, że przy starcie C-Geo w menu ,,Wtyczki'' pojawia się lista programów. Każdy program z tego menu wywoływany jest z trzema parametrami: ścieżka aktualnego projektu, nazwa aktualnej tabeli roboczej i nazwa tabeli aktywnego okna mapy/bazy (o ile jakieś okno tego typu jest aktywne).
Operacje na punktach
dwData=0 - zapis odczyt punktu,
dwData=1 - odczyt punktów zaznaczonych w tabeli - zwracana jest tablica (niestety musi mieć na sztywno zadeklarowany rozmiar, w tej chwili ustawione maksimum 5000 punktów),
dwData=2 - odczyt zaznaczonego obiektu na mapie; wynik przychodzi w postaci: 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 zależności od tego czy obiekt otwarty czy zamknięty. W nawiasach () zapisane są po kolei numer, kod, x, y, h oddzielone średnikami. Wartości 1e20 oznaczają brak danej współrzędnej.
dwData=3 - zapis obiektu na mapę, o(100;100)(100;200)(200;200)(200;100)
Pierwszy znak to litera O lub Z jak opisano wyżej. Później współrzędne(x;y). Przy zapisie zrezygnowano z podawania numerów. Jeśli w tabeli jest już punkt o odpowiadających współrzędnych to obiekt automatycznie zostanie dociągnięty do tego punktu.
dwData=4 - przekazanie raportu w formacie rtf,
dwData=5 - przekazanie raportu w formacie html - chyba łatwiejsza metoda
formatowania niż w rtf,
dwData=6 - włączenie dla aktualnie aktywnej mapy trybu zwracania współrzędnych kliknięcia myszką. Dane przychodzą w takim samym formacie jak odczyt
punktu z bazy,czyli: nr#9kod#9x#9y#9z#9. W przypadku kliknięcia na mapie w puste pole czyli wtedy gdy nie zaznaczy się punkt, wysyłane są tylko wartości xy: #9#9x#9y#9#9
dwData=7 - informacja zwrotna: przyszły współrzędne kliknięcia,
dwData=8 - informacja zwrotna: użytkownik wybrał jakieś narzędzie
z mapy (np. zoom) co skutkuje wyłączeniem funkcji zwracania współrzędnych do wtyczki. W demo wtyczki (w ramce Obsługa klikania na mapie) jest opcja wstawiania przekreślonego kółka w miejscu kliknięcia na mapie.
Zaznaczanie na mapie kilku obiektów i pobieranie ich do wtyczki. Poszczególne obiekty oddzielone są znakiem | czyli w wyniku otrzymujemy np: O(1;;100.001;100.001;1e20)(@19;;100;200;1e20) (2;;200.002;200;1e20) (@20;;200;100;1e20)|Z(11;;100.001;100.001;1e20)(12;;100;200;1e20)
Raporty wysyłamy jako string (kod rtf/htm). Przed treścią raportu można opcjonalnie dodać nazwę raportu jaka będzie wyświetlać się. Nazwę oddzielamy znakiem #9 od treści raportu: nazwa_raportu#9treść_raportu Jeżeli nazwa nie zostanie podana, to raport zostanie zapisany pod nazwą Raport z wtyczki.
Opis zapisu obiektów gra?cznych
okrąg: pierwszy punkt to środek okręgu, w drugim wartość x=50 to promień,
np. e(100;100)(50;0)
łuk: punkt początkowy, punkt końcowy i dowolny punkt na łuku
np. a(100;100)(100;200)(150;150)
krzywa: podajemy punkty przez które ma ona przechodzić
np. b(100;100)(100;200)(200;200)(200;10
Przykład wtyczki można pobrać tutaj http://softline.xgeo.pl/wtyczki/usredniacz.exe
a jej kod źródłowy:
http://softline.xgeo.pl/wtyczki/wtyczka.zip
Więcej bieżących informacji o wtyczkach, ich powstawaniu, pomocy w stosowaniu
można znaleźć na forum w dziale Wtyczki do C-Geo.
np. e(100;100)(50;0)
łuk: punkt początkowy, punkt końcowy i dowolny punkt na łuku
np. a(100;100)(100;200)(150;150)
krzywa: podajemy punkty przez które ma ona przechodzić
np. b(100;100)(100;200)(200;200)(200;10
Przykład wtyczki można pobrać tutaj http://softline.xgeo.pl/wtyczki/usredniacz.exe
a jej kod źródłowy:
http://softline.xgeo.pl/wtyczki/wtyczka.zip
Więcej bieżących informacji o wtyczkach, ich powstawaniu, pomocy w stosowaniu
można znaleźć na forum w dziale Wtyczki do C-Geo.
http://www.softline.geo.pl/forum/viewforum.php?f=512
Komentarze (0)