Offsetpolyline
Z UMP
(wersja pierwotna) |
(wygładzenie tekstu, ujednolicenie wersji o jedynym słusznym sposobie rysowania) |
||
(Nie pokazano 7 wersji pośrednich.) | |||
Linia 1: | Linia 1: | ||
+ | [[Kategoria:Narzędzia]] | ||
== Offsetpolyline - skrypt == | == Offsetpolyline - skrypt == | ||
- | Narzędzie skryptowe do rysowania linii przesuniętej wobec innej linii o zdefiniowaną odległość (offset, przesunięcie) w wybranym kierunku. Do czego można użyć skryptu? Do rysowania [[Szlaki|szlaków]]. Są dwie szkoły rysowania, | + | Narzędzie skryptowe do rysowania linii przesuniętej wobec innej linii o zdefiniowaną odległość (offset, przesunięcie) w wybranym kierunku. Do czego można użyć skryptu? Do rysowania [[Szlaki|szlaków]]. Są dwie szkoły rysowania, ale podobno '''''została tylko jedna''''' - wariant '''szlak obok drogi''' offset -5, -10, -15 lub +5, +10, +15. |
- | Skrypt znajduje się domyślnie w katalogu '''.\narzedzia\lua\''' jako '''offsetpolyline.lua'''. Najlepiej chyba przygotować skrypt dla "swojego" obszaru i umieścić go w katalogu poza drzewem katalogów w ramach UMP, np. w obrębie katalogów MapEdit. | + | Skrypt znajduje się domyślnie w katalogu '''.\narzedzia\lua\''' jako '''offsetpolyline.lua'''. Najlepiej chyba przygotować skrypt dla "swojego" obszaru i umieścić go w katalogu poza drzewem katalogów w ramach UMP, np. w obrębie katalogów MapEdit. Skrypt warto trzymać w wariantach: 0, -5, +5, -10, +10 oraz -15 i +15. |
+ | |||
+ | <gallery widths=250 heights=250> | ||
+ | Grafika:offsetpolyline-001.png|Zaznaczamy linię lub wiele linii | ||
+ | Grafika:offsetpolyline-002.png|Uruchamiamy skrypt (ja już uruchamiałem, dlatego nie muszę szukać) | ||
+ | Grafika:offsetpolyline-003.png|Linia wygenerowana | ||
+ | Grafika:offsetpolyline-004.png|Zbliżenie | ||
+ | </gallery> | ||
+ | |||
+ | Skrypt działa bardzo sprawnie. Trzeba tylko na początku i na końcu dociąć zgodnie z potrzebami oraz wyedytować właściwości - typ szlaku oraz plik źródłowy. Można też skorzystać z POI oznaczających początek/koniec szlaku pieszego lub rowerowego (0x670x - SZLAK_x lub ROWER_x - na stronie [[Co-czym]]). | ||
+ | |||
+ | === Parametry skryptu === | ||
+ | |||
+ | Parametry są w samym pliku i są to: | ||
+ | * '''offsetMeter''' - przesunięcie wobec drogi zaznaczonej w metrach | ||
+ | * '''typszlaku''' - definicja linii jaka używana jest do rysowania - jest opisana w tablicy w pliku - wystarczy skopiować | ||
+ | * '''plikObiektu''' - nazwa pliku w jakim domyślnie ma się znaleźć nowy obiekt - mając własny skrypt definiujemy statycznie plik, który będzie domyślnym celem. | ||
+ | |||
+ | === Problemy === | ||
+ | |||
+ | Rysując szlaki lub cokolwiek innego równoległego wobec innej linii (można sobie wyobrazić narysowanie drugiej nitki jezdni w ten sposób) należy pamiętać o: | ||
+ | * jeżeli szlak ma biec wzdłuż wielu dróg - zaznaczmy wiele dróg z Ctrl - kolejno, tak jak będzie szlak biegł i na tak zaznaczonej grupie obiektów uruchamiamy skrypt - pozostaje docięcie końców zgodnie z potrzebami | ||
+ | * <del>czasami na łączeniach dróg (na wysokości łączenia) skrypt stawia dwa węzły obok siebie - do usunięcia od razu lub po sprawdzeniu błędów</del> - problem powstaje tylko wtedy, gdy łączymy dwa odcinki narysowane skryptem i końce są minimalnie przesunięte - nic dziwnego, że w wyniku '''merge''' powstanie zdublowany punkt | ||
+ | * jeżeli szlak biegnie pętlami, a drogi biegną dalej - skrypt może fragmentu nie narysować - wtedy pozostaje zaznaczenie tylko tej drogi, użycie na niej skryptu, później docięcie i wykonanie '''Merge''' (patrz na poprzednią uwagę) | ||
+ | * wszystkie zaznaczone linie muszą być ze sobą połączone, tzn. mieć wspólne węzły - brak wspólnych węzłów będzie skutkował komunikatem o błędzie | ||
+ | * '''z lewej''' lub '''z prawej''' zależy od zwrotu danej jezdni (kierunku), dlatego warto mieć pod ręką skrypt +n i -n by w razie potrzeby narysować szlak z drugiej strony i zbędny usunąć - jeżeli ''przypadkowo'' narysowało się po niewłaściwej stronie drogi to bez zmiany zaznaczenia wykonaj skrypt dla przeciwnej wartości przesunięcia | ||
+ | |||
+ | Autorem skryptu jest '''aligeza'''. |
Aktualna wersja
Offsetpolyline - skrypt
Narzędzie skryptowe do rysowania linii przesuniętej wobec innej linii o zdefiniowaną odległość (offset, przesunięcie) w wybranym kierunku. Do czego można użyć skryptu? Do rysowania szlaków. Są dwie szkoły rysowania, ale podobno została tylko jedna - wariant szlak obok drogi offset -5, -10, -15 lub +5, +10, +15.
Skrypt znajduje się domyślnie w katalogu .\narzedzia\lua\ jako offsetpolyline.lua. Najlepiej chyba przygotować skrypt dla "swojego" obszaru i umieścić go w katalogu poza drzewem katalogów w ramach UMP, np. w obrębie katalogów MapEdit. Skrypt warto trzymać w wariantach: 0, -5, +5, -10, +10 oraz -15 i +15.
Skrypt działa bardzo sprawnie. Trzeba tylko na początku i na końcu dociąć zgodnie z potrzebami oraz wyedytować właściwości - typ szlaku oraz plik źródłowy. Można też skorzystać z POI oznaczających początek/koniec szlaku pieszego lub rowerowego (0x670x - SZLAK_x lub ROWER_x - na stronie Co-czym).
Parametry skryptu
Parametry są w samym pliku i są to:
- offsetMeter - przesunięcie wobec drogi zaznaczonej w metrach
- typszlaku - definicja linii jaka używana jest do rysowania - jest opisana w tablicy w pliku - wystarczy skopiować
- plikObiektu - nazwa pliku w jakim domyślnie ma się znaleźć nowy obiekt - mając własny skrypt definiujemy statycznie plik, który będzie domyślnym celem.
Problemy
Rysując szlaki lub cokolwiek innego równoległego wobec innej linii (można sobie wyobrazić narysowanie drugiej nitki jezdni w ten sposób) należy pamiętać o:
- jeżeli szlak ma biec wzdłuż wielu dróg - zaznaczmy wiele dróg z Ctrl - kolejno, tak jak będzie szlak biegł i na tak zaznaczonej grupie obiektów uruchamiamy skrypt - pozostaje docięcie końców zgodnie z potrzebami
-
czasami na łączeniach dróg (na wysokości łączenia) skrypt stawia dwa węzły obok siebie - do usunięcia od razu lub po sprawdzeniu błędów- problem powstaje tylko wtedy, gdy łączymy dwa odcinki narysowane skryptem i końce są minimalnie przesunięte - nic dziwnego, że w wyniku merge powstanie zdublowany punkt - jeżeli szlak biegnie pętlami, a drogi biegną dalej - skrypt może fragmentu nie narysować - wtedy pozostaje zaznaczenie tylko tej drogi, użycie na niej skryptu, później docięcie i wykonanie Merge (patrz na poprzednią uwagę)
- wszystkie zaznaczone linie muszą być ze sobą połączone, tzn. mieć wspólne węzły - brak wspólnych węzłów będzie skutkował komunikatem o błędzie
- z lewej lub z prawej zależy od zwrotu danej jezdni (kierunku), dlatego warto mieć pod ręką skrypt +n i -n by w razie potrzeby narysować szlak z drugiej strony i zbędny usunąć - jeżeli przypadkowo narysowało się po niewłaściwej stronie drogi to bez zmiany zaznaczenia wykonaj skrypt dla przeciwnej wartości przesunięcia
Autorem skryptu jest aligeza.