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.
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
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...
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ć.
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).
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.
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.
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:
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:
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
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.
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?
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 :/
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..
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.
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.