Korzystanie z Inkscape do rysowania planów jaskiń

Uwaga, nowa wersja. W dniu 10. stycznia 2017 nastąpiła znacząca aktualizacja rozszerzeń. Niniejszy dokument jest minimalnie nieaktualny, począwszy od sekcji Stały układ warstw. Co do zasady, wszystko się zgadza, ale niektóre opcje mogą nazywać się inaczej, być dostępne gdzieś indziej. Aktualizacja niniejszej strony nastąpi wkrótce, na razie odsyłam do instrukcji dla nowych rozszerzeń po angielsku.

Dlaczego Inkscape?

Po pierwsze, bo jest to program darmowy. Każdy na wyprawie kto tylko ma laptopa może go legalnie zainstalować i rozpocząć rysowanie na czysto tego, co zmierzył. Działa na wszystkich popularnych platformach - Windows, Linux oraz MacOS X.

Po drugie, bo jest to program o otwartym kodzie źródłowym. Każdy dysponujący czasem i umiejętnościami programista może wprowadzić do niego poprawki. Stosunkowo łatwo można tworzyć do niego rozszerzenia. Dzięki temu, powstały jak do tej pory roszerzenia które pozwalają na:

Szczegółowe instrukcje korzystania z tych rozszerzeń zostały podane poniżej.

Instalowanie Inkscape

Najbardziej dogodnym sposobem korzystania z Inkscape z wyżej opisanymi rozszerzeniami jaskiniowymi jest skorzystanie z instalatora dostępnego do pobrania z tej strony. Przed uruchomieniem instalatora zaleca się usunięcie wszelkich dotychczas zainstalowanych wersji Inkscape.

Możliwe jest również zainstalowanie standardowego Inkscape z dystrybucji dostępnej na www.inkscape.org, a następnie ręczna instalacja rozszerzeń. Jest to jedyna możliwa opcja w systemach Linux oraz MacOS.

Uwagi ogólne

Przed rozpoczęciem rysowania jakiegokolwiek planu jaskini, należy rozważyć w jakiej skali plan będzie rysowany. Po narysowaniu planu, zmiana jego skali „tak, żeby nadal dobrze wyglądał” jest zagadnieniem skomplikowanym, niezależnie czy w technologii papierowej, czy elektronicznej.

Podczas tworzenia dokumentacji, generalnie dobrze jest mieć świadomość, jakie odległości są na niej reprezentowane w skali. Wobec tego, zalecane jest przełączenie jednostek w których pracuje Inkscape na milimetry. Robi się to zmieniając opcję Domyślne jednostki w oknie Plik – Ustawienia dokumentu (Ctrl+Shift+D).

Z oczywistych względów, zaimportowanego ciągu pomiarowego nie należy ręcznie skalować.

Wygodne opcje konfiguracyjne

Zalecane opcje konfiguracyjne (Plik – Ustawienia Inkscape albo Ctrl+Shift+P):

Narzędzia – Pióro: Zaznaczyć Twórz nowe obiekty z użyciem ostatnio używanego stylu

Transformacje: Odznaczyć Skaluj grubość linii

Przesuwanie: Zaznaczyć Lewy klawisz myszy przesuwa przy wciśniętej spacji, Kółko myszy przybliża i oddala.

Skróty klawiszowe

Inkscape posiada bardzo dużo skrótów klawiszowych. W wolnej chwili warto zapoznać się z dostępnymi skrótami (google: inkscape skróty klawiszowe), tym bardziej, że niektóre z możliwości programu dostępne są tylko jako skróty klawiszowe.

Najważniejsze skróty:

Klawisz Ctrl spełnia ważną rolę podczas operacji wykonywanych myszką. Jeśli przytrzyma się go:

Klawisz Shift jest bardzo istotny w narzędziu zaznaczania – pozwala zaznaczyć więcej niż jeden obiekt.

Format SVG

Tworzoną w programie Inkscape dokumentację należy zapisywać w formacie Inkscape SVG lub Skompresowany Inkscape SVG (polecany – nie traci się na jakości, a zajmuje dużo mniej miejsca). Zapisanie w innym formacie prawie na pewno spowoduje utratę struktury warstw.

Dokumentację należy publikować za pomocą eksportu do PDF (polecana opcja: Plik – Zapisz kopię) lub ew. do plików rastrowych (Plik – Eksportuj bitmapę).

Wektoryzowanie w Inkscape

Wektoryzowanie czegokolwiek w jakichkolwiek programach graficznych na ogół możliwe jest dwoma narzędziami: przez rysowanie krzywych odręcznie myszką lub przez narzędznie tworzenia krzywych Beizer. W Inkscape, narzędzia te zostały nazwane Ołówek (wprowadzanie odręcznie) oraz Pióro (wprowadzanie krzywych Bezier).

Chociaż wymaga to nieco więcej wprawy, stanowczo zaleca się rysowanie krzywych wektorowych za pomocą narzędzia Beizer (Pióro). Komputerowy zapis takich krzywych wymaga zazwyczaj dużo mniej informacji niż w przypadku krzywych odręcznych. W przypadku obróbki grafiki zawierającej dużą ilość krzywych (co jest typowe dla dokumentacji jaskiniowej), to ilosć danych do przetworzenia ma wpływ na płynność działania programu graficznego. Typowo, będzie ona zdecydowanie lepsza dla rysunków wprowadzonych jako krzywe Bezier.

Ponadto, krzywe Beizer na ogół skalują się bardziej płynnie (np. jeśli zechcemy powiększyć fragment planu).

Aby narysować krzywą Bezier w Inkscape, wybieramy narzędzie Pióro (skrót klawiszowy B), oraz wskazujemy myszką kolejne punkty (tzw. węzły), które mają definiować krzywą. Pojedyncze kliknięcie lewym klawiszem w punkt na ekranie powoduje, że linia jest kontyunuowana linią prostą. Klikając i przytrzymując lewy klawisz myszy, kontynuujemy linię jako krzywą.

Wprowadzanie krzywej zakańczamy wciśnięciem ENTER lub (w przypadku krzywych zamkniętych) kliknięciem w punkt, od którego rozpoczęliśmy rysowanie.

Położenie węzłów oraz ich typ tj. linia prosta, krzywa symetryczna (gładkie przejście przez punkt), krzywa asymetryczna (narożnik w punkcie) można dla danej krzywej zmienić w każdej chwili za pomocą narzędzia edycji krzywej (skrót klawiszowy N).

Warto zwrócić uwagę na to, że wybranie narzędzia Pióra (B) w momencie, kiedy na ekranie za pomocą narzędzia wybierania obiektów (S) jest już zaznaczona jakaś krzywa pozwala na łatwe jej kontynuowanie.

Styl linii (grubość) zmienia się za pomocą opcji Obiekt – Wypełnienie i kontur (Shift+Ctrl+F).

Stanowczo zaleca się, aby linie przerywane wprowadzać jako jedną krzywą z ustalonym odpowiednim stylem konturu (w opcji Wypełnienie i kontur), a nie jako kilka krzywych ciągłych.

Godne uwagi opcje Inkscape

Warto wiedzieć o istnieniu opcji:

Edycja - Wklej w miejscu (Ctrl+Alt+V) – działa identycznie jak Wklej (Ctrl+V), ale wkleja obiekt dokładnie w tym samej pozycji, z której został wycięty lub skopiowany. Przydatna np. do przenoszenia błędnie naniesonych obiektów do właściwych im warstw.

Edycja – Wklej styl (Ctrl+Shift+V) – dzięki niej można łatwo kopiować style i kolory pomiędzy obiektami. Należy skopiować (Ctrl+C) obiekt, który ma być wzorcem stylu (który ma ustawiony pożądany styl linii czy kolor wypełnienia), następnie zaznaczyć obiekty które mają wyglądać identyczni

Kopiowanie podczas przenoszenia – szczególnie przydatne do zwielokratniania znaków umownych np. symbolu gliny. Podczas przenoszenia obiektu (przeciągania z lewym klawiszem myszy) można łatwo utworzyć kopię w miejscu, w którym aktualnie go „trzymamy”. Wystarczy, nie puszczając lewego klawisza myszy, wcisnąć spację.

Ścieżka – Różnica. Szczególnie przydatna do wycinania wysep w jeziorkach. Po narysowaniu jeziorka (jako zamknięta, wypełniona krzywa) rysujemy wyspę (również jako zamknięta, wypełniona krzywa). Upewniamy się, że wyspa jest „na” jeziorku (w razie konieczności używamy opcji Obiekt – Przesuń w górę lub Obiekt – Przesuń w dół). Zaznaczamy następnie jeziorko i wyspę, i używamy Ścieżka – Różnica.

Obiekt – Wyrównaj i rozmieść – otwiera okno z szeregiem opcji przydanych do budowy siatek czy graficznych skali. Np. rozmieść obiekty w równych odstępach, wyrównaj dolne krawędzie obiektów itd.

Edycja / Klonuj / Utwórz klon - często warto użyć tej opcji zamiast zwykłego Kopiuj & Wklej. Klon obiektu można dowolnie przesuwać, obracać, skalować. Nie można tylko ingerować w środek obiektu - który jest kopiowany dokładnie z oryginału. Ma to jedną bardzo poważną zaletę - jeśli zmienimy oryginał, zmienią się wszystkie klony. Szczególnie polecane do symboli konwencjonalnych. Jeśli np. stwierdzimy w pewnym momencie że chcemy dany symbol zamienić na inny albo zmienić jego rozmiar, wystarczy zmodyfikować oryginał aby wszystkie jego klony również się uaktualniły. Co ważne, kopia klonu jest również klonem (tego samego obiektu) - wobec tego o klonach wystarczy pamiętać tylko przy "pierwszym" kopiowaniu. Klony zawsze można zamienić na samodzielne obiekty (Edycja / Klonuj / Odłącz klon). Wszystkie symbole konwencjonalne wstawione z biblioteki symboli są właśnie takimi klonami.

Skalowanie prostych: warto zwrócić uwagę na to, że obiekty w Inkscape skalują się różnie, w zależności od tego, w którą z ośmiu dostępnych strzałek skalowania się kliknie (cztery w narożnikach, cztery na bokach). Proste wskazujące kierunki przekrojów poprzecznych skaluje się wygodnie zaczynając od jednego z narożników pokrywających się z końcem prostej.

Różnica między Plik - Otwórz a Plik - Importuj

Opcja Otwórz powoduje otwarcie nowego dokumentu (okna) Inkscape, w którym będą tylko dane z wskazanego pliku – z własnym układem warstw.

Opcja Importuj ładuje dane z wskazanego pliku do bieżącego dokumentu (okna) Inkscape.

Niestety, opcja Importuj ładuje dane jako grupa do jednej, aktywnej obecnie warstwy. Oznacza to, że ewentualny podział na warstwy w importowanym pliku zanika. Aby odtworzyć hierarchię warstw można jednak użyć jednego z rozszerzeń z pakietu inkscape-jext (Efekty / Speleo / Group to layer(s)...

Grubości, kolory

Nie wiem! Ja używam: obrys ścian: 0.5 mm, szczegóły spągu i progi 0.28 mm, drobne szczegóły spągu 0.1 mm. Kolor wody (RGBA) 0083d1ff, przezroczystość warstwy z wodą 50%

Grubość 0.28 mm to jeden piksel przy 90 dpi. Nie wiem, czy to dobrze, czy nie, ale program kiedyś zasugerował taką wartość i ... tak już zostało.

Symbole konwencjonalne - inkscape 0.4x

W starych wersjach inkscape (do 0.48 włącznie) moje rozszerzenia jaskiniowe wykorzystywały specjalną czcionkę do wyświetlania na rysunkach symboli konwencjonalnych. Więcej można przeczytać tutaj. Jeśli używasz inkscape 0.91 lub nowszego, nie zawracaj sobie tym tekstem głowy.

Łatwe korzystanie z symboli. Linia progu i okapu.

Wybierając z menu Obiekt / Symbols można otworzyć bibliotekę symboli. Należy wybrać zestaw symboli "Cave plan". Symbole umieszczamy na rysunku przeciągając je z biblioteki. Jeśli nie widzisz w menu pozycji Symbols - prawdopodobnie masz starą wersję Inkscape (wcześniejszą niż 0.91). Jeśli nie widzisz zestawu symboli Cave plan - prawdopodobnie nie masz zainstalowanych rozszerzeń jaskiniowych do Inkscape'a. W jednym i drugim przypadku zalecam odinstalowanie tego, co masz i ponowną instalację Inkscape przy użyciu instalatora opublikowanego na tej stronie

Poniżej kilka uwag dotyczących specyficznych symboli:

Skróty klawiszowe Alt+1, Alt+2 i Alt+3 wywołują stosowne opcje z menu Efekty / Speleo. Można je również wywołać "ręcznie", wybierając odpowiednią pozycję z menu. Ma to taką zaletę, że otwiera się okienko z parametrami efektu, które można nieco zmodyfikować. Podczas następnego użycia skrótu klawiszowego zostaną użyte parametry ostatnio ustawione w okienku.

Uwaga: linie progu, stropu i okapu są generowane w nieco oszukany sposób. Po użyciu skrótu klawiszowego Alt+1 / Alt+2 mamy do czynienia z dwoma odrębnymi obiektami: linią oraz wygiętym tekstem, który napisany jest specjalną czcionka. Może to powodować pewne nieporozumienia. Przykładowo, aby zmodyfikować kształt progu, należy zaznaczyć do edycji linię, a nie wygięty tekst. Z drugiej strony, aby dodać więcej poprzecznych kresek do progu, należy zaznaczyć do edycji (tekstu) wygięty tekst, a nie linię. Jedno i drugie bywa trudne, bo często linia i tekst siłą rzeczy nakładają się na siebie i trudno dobrze trafić myszką. Przydatny może być skrót klawiszowy Shift+D, którym po zaznaczeniu wygiętego tekstu można „odnaleźć” (tzn. zaznaczyć) linię, która definiuje jego wygięcie.

Aby odwrócić kierunek progów lub zmienić studnię w komin (i na odwrót), można też użyć opcji Ścieżka – Odwróć na linii progu (może być konieczne wciśnięcie Shift+D, patrz uwaga wyżej).

Stały układ warstw.

Wybierając Plik / Nowy z wzorcae (New from template...) / Cave plan można utworzyć nowy dokument z predefiniowanym układem warstw, przygotowanym pod rysowanie dokumentacji jaskiniowej (Gallery outline, Floor details, Measurements itd.). Uważam, że układ warstw to czysto subiektywna sprawa kartografa, zależna od wielkości projektu, ilości zaangażowanych osób, docelowego przeznaczenia tworzonej dokumentacji itd. W każdym razie, w rozszerzeniach załączono pewną wyjściową propozycję. Ten dokument wzorcowy można w stosunkowo łatwy sposób edytować: znajduje się on w pliku cave2.svg, w podkatalogu share/extensions w katalogu instalacyjnym Inkscape.

Import plików .3d

Aby skorzystać z rozszerzenia, należy użyć w Inkscape opcji Plik – Otwórz lub Plik – Importuj oraz wskazać plik 3d. Przed wczytaniem pliku 3d, otworzy się okno dialogowe, w którym można ustawić opcje importu. Szczególnie należy zwrócić uwagę na:

Import następuje z zachowaniem hierarchii zawartej w pliku .3d tzn. każda z sesji pomiarowych stanowi osobną grupę. Dwuklikając zaimportowane krzywe (wejście głębiej) lub w pusty obszar dokumentu (powrót płyciej) można poruszać się po tej hierarchii i np. zmieniać styl poszczególnych grup.

Czasami zachodzi potrzeba "zgrania" (dokładnego nałożenia na siebie) paru osobnych importów. Przykładowo, możemy chcieć najpierw zaimportować poziomice z pliku .3d, oczywiście bez markerów stacji. Następnie możemy chcieć nałożyć na ten import ciągi pomiarowe jaskiń - jak najbardziej już z oznaczeniami punktów pomiarowych. W takiej sytuacji najlepiej do wszystkich importowanych plików dodać krótki, sztuczny ciąg pomiarowy "idący" po prostokącie ograniczającym obszar którym się zajmujemy. Będziemy mogli wykorzystać go do zgrania poszczególnych importów (należy na dużym zoomie po prostu przesunać importy, tak, aby prostokąty nałożyły się), a potem po prostu usunąć.

Import z PocketTopo

Dane z PocketTopo należy zapisać używając formatu Therion (w menu PocketTopo: Export / Therion ...). Zapisywany plik musi mieć rozszerzenie .the.

Działanie rozszerzenia jest analogiczne jak import pliku 3d (jw.). Rozszerzenie umieszcza strzały, strzały boczne i poszczególne kolory kresek w osobnych grupach. Zaznaczając zaimportowany rysunek i korzystając z rozszerzenia Efekty / Speleo / Group to Layer(s)... można wydzielić je do odrębnych warstw. Później, przy pomocy Efekty / Speleo / Sublayers to groups można te warstwy z powrotem połączyć w pojedynczy obiekt.

Rozszerzenie zawiera m.in. opcję importu przekroju zrzutowanego. Przekrój ten jest generowany z przekroju rozwiniętego, narysowanego w PocketTopo. W ogólności taka konwersja nie jest możliwa, wobec czego ten tryb importu daje sensowne wyniki tylko w przypadku fragmentów przekroju rozwiniętego wzdłuż odcinków "w miarę zbliżonych" do płaszczyzny rzutowania. Jeśli przekrój rozwinięty posiada rozgałęzienia i nie wiadomo, którego rozgałęzienia dotyczy dana kreska, kreska ta jest dublowana i przekształcana wzdłuż obydwóch (wszystkich) gałęzi.

Uwaga na przekroje. Konwersja przekroju rozwiniętego do przekroju zrzutowanego to naprawdę przybliżona sprawa. Na dodatek okazało się, że moduł wykonujący tę konwersję zawiera błąd koncepcyjny, który powoduje, że pomiary istotnie odległe od płaszczyzny przekroju zrzutowanego są wrysowywane błędnie (błąd jest tym większy, im bardziej wektor pomiaru nie leży na płaszczyźnie przekroju zrzutowanego). Wobec tego, szczególnie do czasu usunięcia błędu, podstawowym odniesieniem przy rysowaniu przekrojów powinny być dane pomiarowe (plik .3d). Skonwertowany szkic jest tylko informacją pomocniczą (ponieważ jest przetworzony, jest dużo bardziej pomocniczy, niż oryginalne szkice np. do planu!).

Import z Wallsa

Jeśli chodzi o rzuty na płaszczyznę planu, to zagadnienie jest banalne. W programie Walls należy wyeksportować ciąg pomiarowy jako plik SVG. Po skompilowaniu projektu, w zakładce Map klikamy na Scale & position... i ustawiamy pożądaną skalę. Następnie używamy przycisku SVG -> z paska znajdującego się tuż pod belką menu programu. Wczytujemy plik SVG do Inkscape i trochę poprawiamy kolory (domyślnie jest czarne tło i białe opisy punktów - ma niewielki sens przy wydruku). To wszystko.

Problematyczny jest eksport przekrojów. Niestety nie wiem, jak to zrobić w prosty sposób, nawet dla kardynalnych płaszczyzn (WE/SN). Jeśli ktoś ma jakieś rozwiązanie, które nadaje się do pokazywania początkującym na szkoleniu, to bardzo proszę o kontakt.

Generowanie siatki

Należy użyć opcji Efekty / Speleo / Render grid. Siatka może być rysowana jako linie lub jako krzyże. Domyślnie punkt (0, 0) znajduje się w lewym górnym rogu strony. Aby umieścić go w innym położeniu, należy utworzyć (tymczasowy) prostokąt i wyrównać jego lewy górny róg do pożądanego punktu (0, 0). Następnie zaznaczyć ten prostokąt i dopiero wtedy wywołać rozszerzenie do generowania siatki.

Jak rozwiązać problem przecinania się siatki z rysunkiem? Otóż zamiast ręcznego edytowania linii siatki, zaleca się umieszczenie siatki w najniższej warstwie i stworzenie nad nią warstwy "maskującej" siatkę. W takiej warstwie umieszczamy w stosownych miejscach białe prostokąty, które "zasłaniają" linie siatki.

Aby siatka i maska siatki nie przeszkadzały w edycji rysunku, zaleca się ich zablokowanie - w oknie Warstwy... klikamy na ikonke kłódki po lewej stronie od nazwy warstwy.

Odcinek wskazujący skalę rysunku

Efekty / Speleo / Scalebar.... Wystarczy tylko wybrać skalę. Tekst i czcionkę można edytować "wchodząc" w grupę (dwuklik na interesującym nas tekście, aż do skutku)).