Wersja/18.12.140
Wersja 18.12.140.14154 została udostępniona w dniu 2018-12-29. Nadal głównym obszarem rozwoju jest edytor RSF, chociaż doszła też konwersja brył budynków na poziomie edytora SCN.
Zobacz też zmiany w poprzedniej wersji 139.
Spis treści
- 1 Zmiany w edytorze RSF
- 1.1 Zapis szablonu rozjazdu
- 1.2 Ustalenia dotyczące rozjazdów łukowych
- 1.3 Poprawka przeliczania rozjazdów łukowych
- 1.4 Korygowanie wskazania na agregat
- 1.5 Wejście z wyszukiwarki błędów zmienia warstwę
- 1.6 Zabezpieczenie w powielaniu ukresów
- 1.7 Dołączanie dużego pliku ADD
- 1.8 Masowe naprawianie nazw rozjazdów krzyżowych
- 1.9 Naprawianie nazw izolacji
- 1.10 Przyklejanie do bliższego toru
- 1.11 Zmiana kolejności słupów na liście
- 1.12 Zalecana wysokość w poprzeczce
- 1.13 Poprawione mapowanie szycia niwelet
- 1.14 Poprawiony eksport bramek proceduralnych
- 1.15 Zliczanie map do pobrania
- 1.16 Wyliczanie kilometrażu dla słupów
- 1.17 Obliczanie rozmiarów i środków komórek
- 1.18 Wybór początku scenerii poprzez mapę
- 2 Zmiany w starterze do MaSzyny
- 3 Zmiany w starterze do ATS
- 4 Inne
Zmiany w edytorze RSF
Zapis szablonu rozjazdu
Do edytora szablonów rozjazdów dodana została opcja zapisania szablonu w pliku ADD. Nazwa zapisywanego pliku jest tworzona z nazwy szablonu. Zapisanie pliku ADD umożliwia doklejenie go do innego pliku RSF.
Ustalenia dotyczące rozjazdów łukowych
Analogicznie do wpisów łuków w plikach SCM ustalone zostało, że wartości promienia w rozjazdach łukowych i ich szablonach będą dodatnie, gdy rozjazd będzie zbudowany na bazie wycinka okręgu. Zwrot łuku (w lewo czy w prawo) nie będzie miał wpływu na znak wartości promienia, a jedynie na kod typu (2 w lewo, 3 w prawo). Dla szablonów rozjazdów zwykłych z pierwszym odcinkiem prostym, drugi tor jest łukiem w lewo (kod 2, Y dodatnie). Dla szablonów rozjazdów symetrycznych pierwszy tor jest w prawo (kod 3, Y ujemne). Szablony rozjazdów łukowych jednostronnych będą miały oba tory w lewo (kod 2, Y dodatnie).
Poprawka przeliczania rozjazdów łukowych
Dotychczas przeliczanie współrzędnych końców odcinka miało warunek na pomijanie wprowadzania zmian w rozjazdach, które miały pierwszy tor prosty. Skutkowało to deformacjami rozjazdów łukowych (póki co głównie symetrycznych i podwójnych jednostronnych). Obecnie warunek został zmieniony tak, żeby rozjazdy również łukowe pomijać. W efekcie rozjazdy łukowe nie powinny się psuć, chociaż może być konieczne jednorazowe naprawienie skumulowanych błędów.
Korygowanie wskazania na agregat
Od niedawna można we Własnościach obiektu wpisać liczbę, będącą uzupełnieniem wskazania obiektu nadrzędnego o wskazanie elementu w agregacie. Dzięki temu można pozycjonować obiekty punktowe wg drugiego toru rozjazdu (wystarczy wpisać 2 zamiast 0). Jednak taka niezautomatyzowana jeszcze dowolność może prowadzić do błędów: wpisanie 2 dla toru, który nie posiada drugiego odcinka spowoduje wskazanie na jakiś inny tor, a przez to mogą pojawić się błędne skutki. Aby ograniczyć tego typu błędy, przy przeliczaniu obiektów punktowych sprawdzane jest, czy obiekt nadrzędny posiada wymaganą liczbę odcinków i jeśli nie, to owo przesunięcie jest zerowane.
Wejście z wyszukiwarki błędów zmienia warstwę
Po wybraniu obiektu wskazanego w wyszukiwarce błędów pokazywany jest on w oknie edycyjnym. Obecnie również zmieniana jest warstwa obiektów, zależenie od typu obiektu, dzięki czemu np. wejście we Własności słupa otworzy jego własności, a nie toru, do którego jest doklejony.
Zabezpieczenie w powielaniu ukresów
Zdarzało się tak, że plik RSF miał wstawione grupowo ukresy, natomiast nie miały one wskazanego pliku INC, co było pracochłonne do poprawienia. Obecnie powielanie ukresów dla rozjazdów dodanych do grupy sprawdza, czy wzorcowy ukres do powielania ma przypisany INC. Jednocześnie ta sama opcja wstawi powiązanie z plikiem INC z wzorcowego ukresu do wszystkich ukresów, które nie miały wybranego INC.
Dołączanie dużego pliku ADD
Dotychczas maksymalny rozmiar pliku ADD, dołączanego do RSF funkcją z menu, był ograniczony do 16kB (128 rekordów). Tymczasem zestaw plików INC oraz tekstur, zapisywany w pliku DODATKI.ADD dochodził do 32kB i jego doklejenie było możliwe tylko poprzez sklejenie plików. Obecnie dołączenie plików jest przerobione w taki sposób, że plik nie jest dołączany w jednym kawałku, a jest analizowany rekord po rekordzie i dodawane są tylko te, które się nie powtarzają. Ze względu na możliwość ustawienia parametrów dla plików (np. dla tej samej tekstury podsypki mogą być określone różne przekroje), pomijanie duplikatów musi zostać jeszcze rozbudowane o porównywanie parametrów. Brane pod uwagę jest też interaktywne dodawanie, podczas którego użytkownik będzie mógł zdecydować, czy dodać rekord, czy go pominąć, czy zastąpić istniejący dodawanym (np. szablon rozjazdu różniący się parametrami). Dołączanie pliku wymaga jeszcze dalszych testów.
Masowe naprawianie nazw rozjazdów krzyżowych
Przy budowie scenerii może się zdarzyć tak, że nazwy rozjazdów krzyżowych nie będą miały liter rozróżniających poszczególne zwrotnice, tylko nazwa każdej zwrotnicy będzie mieć osobny numer. W takiej sytuacji naprawienie nazw było dosyć pracochłonne. Obecnie można wykonać to opcją z menu Operacje. Rozjazdom krzyżowym nie zostaną co prawda nadane numery zgodne ze schematami, niemniej nazwy zwrotnic dostaną litery, z uwzględnieniem niwelety ("a/b" od mniejszego kilometrażu).
Naprawianie nazw izolacji
Może się zdarzyć, że w nazwie izolacji zamiast wielkiego i ktoś wpisze małe L. Ze względu na podobieństwo tych liter może być to trudne do zauważenia i pracochłonne przy poprawianiu. Dotychczas automat poprawiający znajdował się w generatorze skryptów sterujących, obecnie został również dodany do opcji naprawienia izolacji w menu Operacje.
Przyklejanie do bliższego toru
Do menu Punktowy dodana została opcja przeklejenia obiektu na bliższy mu tor. Jest to szczególnie przydatne dla sygnalizatorów, gdyż dotychczas nie przeklejały się one samoczynnie na bliższy tor, a przypisanie do innego nie usuwało wcześniejszych powiązań. Dawne scenerie do MaSzyny potrafiły mieć odczyt semafora w wielu torach, po zmianach w 2011 roku (tabelka skanowania) przestało mieć to znaczenie użytkowe, a wręcz prowadziło do problemów. Również dzielenie odcinka na dwa w edytorze RSF potrafiło powielić przypisanie sygnałów. Przeklejenie do bliższego toru usuwa również powiązania typu _S1/_Ms1 — zamykanie sygnalizatorów powinno być robione raczej przez izolacje i zajętości. Jednocześnie wyszukiwarka błędów sprawdza, czy obiekt typu sygnał znajduje się przy najbliższym odcinku toru i sygnalizuje błąd, jeśli nie (czasem nie jest możliwe przypisanie do najbliższego odcinka, ponieważ nie da się podzielić krzywej przejściowej czy rozjazdu).
Zmiana kolejności słupów na liście
Słupy są łączone w listy skierowane, podobnie jak niwelety, a inaczej niż tory. Drut pomiędzy słupami jest rysowany tylko do następnego słupa z listy. Może się zdarzyć tak, że łączenie drutem sekcji naprężania zostanie zaczęte z dwóch stron i zakończy się na tym samym słupie. Jest to sytuacja błędna. W takim przypadku należy odwrócić jedną z list, co dotychczas było pracochłonne i generowało błędy. Obecnie listę można odwrócić operacją z menu Punktowy. Dla ujednolicenia zalecane jest łączenie słupów w kierunku wzrostu kilometrażu.
Zalecana wysokość w poprzeczce
W nazwie poprzeczki można umieścić zalecaną wysokość niwelety po ciągu znaków ;Z= (średnik, wielkie zet, równa się). Wysokość ta będzie odczytywana przez wyszukiwarkę błędów i porównywana z wysokością wyliczoną dla poprzeczki. Różnica większa niż 10cm będzie sygnalizowana jako błąd. Funkcjonalność ta ma służyć do kalibracji profilu pionowego, np. poprzez wpisanie wysokości odczytanej z mapy hipsometrycznej dla przejazdów drogowo-kolejowych. Mapa taka istnieje np. dla Wrocławia. Do menu Niweleta została dodana opcja zapisania takich poprzeczek do pliku CSV, co np. umożliwia naniesienie przejazdów na wykres profilu pionowego w arkuszu kalkulacyjnym.
Poprawione mapowanie szycia niwelet
Analogicznie do mapowania przekrojów poprzecznych zostało zaktualizowane mapowanie szycia niwelet. Obszar pokrycia teksturą w [m] można obecnie wpisać w parametrach tekstury, domyślnie jest kwadrat o boku 25m.
Poprawiony eksport bramek proceduralnych
Wcześniej bramki o zmiennych wymiarach znajdowały się w warstwie 0xA1, razem z innymi obiektami o zmiennych wymiarach (rysowanych proceduralnie, zależnie od podanych parametrów). Rozbudowa sieci trakcyjnej o przyklejanie zwisów do bramek wymusiła przestawienie bramek do osobnych warstw, te o zmiennych wymiarach trafiły więc do 0xA9. Niemniej obiekty z warstwy 0xA1 były dotychczas obracane przy eksporcie o 180° w osi pionowej, co nie dotyczyło warstwy 0zA9. Obecnie również obiekty z warstwy 0zA9 są obracane, dzięki czemu bramki wstawiają się do MaSzyny prawidłowo. Niemniej sam mechanizm obracania niektórych warstw wymaga jeszcze przemyślenia — być może lepiej by było konieczność obrotu oznaczyć we Własnościach INC, a nie obracać wyjątkowo niektóre warstwy.
Zliczanie map do pobrania
W oknie Własności dla listy torów albo ich grupy można wygenerować pliki map do pobrania (są one zapisywane z zerową długością). Dodane zostało wyświetlanie liczby utworzonych plików, aby orientacyjnie było wiadomo, czy jest ich kilka, czy kilkaset i czy w związku z tym na czas pobierania należy sobie zorganizować inne zajęcie (obecny algorytm pobierania uniemożliwia wykorzystanie komputera do innych celów, chyba że ma się dwa monitory).
Wyliczanie kilometrażu dla słupów
W nazwie poprzeczki można umieścić napis słup=, po którym będzie wartość kilometrażu z tabliczki na słupie (kilometr z hektometrem jako ułamek), a po znaku + albo - — przesunięcie w metrach z decymetrem jako ułamek. Zmiana znaku pomiędzy tymi liczbami przeliczy kilometraż (Id) poprzeczki. Dzięki temu można kalibrować naliczenie kilometrażu na niwelecie zawartością tabliczek na słupach, a zmiana znaku nie wymaga ręcznego przeliczania pozycji poprzeczki.
Obliczanie rozmiarów i środków komórek
Do menu Operacje dodana została opcja obliczenia rozmiarów komórek (w sensie prostokąta zawierającego) oraz ich środków. Dane te są zapisywane w pliku DEF. Funkcjonalność ta będzie służyć do wykrywania błędów w ustawianiu komórek. Dodatkowo na zakładce Komórki wyświetli się rozmiar wybranej komórki (z pliku; przeliczanie nie uruchamia się automatycznie, a sprawdzenie rozmiaru wymaga przejrzenia miliona kwadratów kilometrowych).
Wybór początku scenerii poprzez mapę
W oknie tworzenia nowego pliku i ustalania początku scenerii dodana mapa Polski. Obszar edycyjny to kwadrat o boku 524km, więc nie obejmuje całej Polski na raz. Zwiększenie dwukrotne boku wymagałoby albo zmniejszenia dokładności do 1/4mm, albo istotnej zmiany formatu RSF. Niemniej taki obszar edycyjny wydaje się być wystarczający, gdyż jest zbliżony do obszaru symulacji MaSzyny (przynajmniej do 2015 taki był), co pozwala wczytywać maszynowe scenerie w całości do RSF. Docelowo plan był taki, by scenerie dzielić na komórki (średnicy od 8km do 16km) i każdą trzymać w osobnym pliku RSF — jednak co z tego wyjdzie, to nie wiadomo.
Zmiany w starterze do MaSzyny
Poprawiony import budynków CityGML
Ze względu na nazewnictwo plików CityGML, zawierające kod powiatu oraz godło mapy, wybranie właściwych plików do przetworzenia nie było prostym zadaniem. Obecnie wymagane jest wczytanie scenerii z ustawionym początkiem poprzez dyrektywę //$g PUWG1992 (domyślnie będzie to okolica Herbów Nowych, czyli początek scenerii "Linia 61"). Fragment nazwy zawierający godło mapy zostanie ustalony na podstawie współrzędnych środka ekranu edycyjnego (działa to podobnie jak pobieranie map). Dzięki dodaniu gwiazdki do nazwy pliku w oknie wyboru pliku pokażą się te pliki, które odpowiadają współrzędnym mapy, niezależnie od kodu powiatu. Na ogół będzie to jeden plik, jednak na granicy powiatów plików może być więcej (budynki każdego powiatu są w osobnym pliku). Rozwiązanie zostało przetestowane przy importowaniu budynków w okolicy Blachowni, Warszawy i Suwałk. Sam import posiada jeszcze błędy w zakresie podziału na trójkąty wielokątów wklęsłych, przez co w bryłach pojawiają się nieistniejące ściany oraz dziury.
Lista budynków CityGML
Podczas importowania w pliku o identycznej nazwie oraz rozszerzeniu TXT tworzona jest lista identyfikatorów budynków o strukturze pliku INI (klucz=wartość). Po wczytaniu pliku z utworzonymi trójkątami do jakiegoś edytora (np. Rainsted, ale nie tylko) można następnie sprawdzić identyfikatory poszczególnych budynków. Jako wartość dla klucza będącego identyfikatorem można obecnie po znaku "=" wpisać minus "-", co będzie oznaczać, że budynek będzie pomijany przy imporcie (np. jest wymodelowany osobno, a ten importowany ma gorszą jakość). Po znaku "-" można umieścić dowolny tekst. Docelowo planowane są inne jeszcze inne funkcje tej listy, jak np. zmiana identyfikatora na podany ciąg (zmiana nazwy budynku w plik SCM), wykopiowanie bryły do osobnego pliku w celu dalszej edycji, czy ustawienie tekstury dachu. Rozwiązanie przetestowane przy importowaniu danych z Częstochowy — ustawione zostało pomijanie dworców, nastawni i przejść ponad torami. Zakładane jest, że obecny algorytm importu nie jest jeszcze rozwiązaniem ostatecznym i procedura importowania będzie jeszcze powtarzana wielokrotnie, zarówno w zakresie optymalizacji podziału trójkątów, jak i teksturowania.
Podział budynków na bliskie i odległe
Po wykonaniu konwersji z GML na SCM można otworzyć plik z trójkątami w edytorze SCN. Następnie wybierając trójkąty można je oznaczyć jako "bliskie" (wpisuje to znak "<" do listy budynków) oraz zmienia kolor trójkątów. Dzięki temu przy importowaniu budynki są rozdzielane na dwa pliki. W rezultacie — dla zaoszczędzenia wydajności — można wczytać tylko wybrane budynki, a pozostałe pominąć. Docelowo też ma być możliwość wczytania jedynie widocznych ścian dla budynków odległych, dodatkowo z uwzględnieniem zasłaniania przez bliższe budynki.
Obliczanie wektorów normalnych brył CityGML
Po wczytaniu do MaSzyny brył, które miały wyzerowane wektory kontrolne, okazało się, że EU07.EXE nie wylicza ich automatycznie, mimo iż taka funkcjonalność była przed 2015 rokiem. Konwersja danych została uzupełniona o obliczanie wektorów normalnych i teraz budynki zapisują się już z policzonymi wektorami kontrolnymi.
Przeliczanie globalne wektorów normalnych
Na potrzeby poprawienia kilku plików z budynkami CityGML została dodana opcja przeliczenia w pliku wektorów normalnych wszystkich trójkątów. Przeliczanie jest robione niezależnie od tekstury i bez wygładzania kantów. Przeliczanie to nie nadaje się jednak do przeliczania terenu, ponieważ po takiej operacji będą widoczne kanty. Obecnie konwertowane pliki z CityGML mają już policzone wektory kontrolne i powtarzanie przeliczenia dla nich nic nie zmieni.
Zmiany w starterze do ATS
Poprawka eksportu scenerii do RSF
Poprawiony został eksport dla przypadku, gdy w pliku trams.txt jest zbyt mało pozycji, albo nie ma tego pliku. Dotychczas eksport się wysypywał w takim przypadku. Można było to naprawić doraźnie tworząc bądź kopiując plik trams.txt. Dodatkowo, dla scenerii zawierającej ciąg "elblag0" w nazwie, ustawiany jest środek w układzie PUWG 1992, wypadający w Elblągu. Nie uzyskuje się w ten sposób dokładnego dopasowania do mapy (przesunięcie jest rzędu 300m na każdej osi).
Inne
Przygotowanie do wspólnego katalogu z mapami
Jeśli ktoś używał Rainsted w kilku lokalizacjach (różne paczki MaSzyny, ATS), to każda kopia Rainsted pobierała mapy podkładowe do swojego podkatalogu. Obecnie podjęte zostały działania na rzecz konfiguracji położenia katalogu gisdata, tak aby mógł być wspólny dla wielu kopii Rainsted. Katalog ten będzie również mógł się znajdować poza jakąkolwiek paczką, aby np. w razie usunięcia jakiejś starej paczki nie było ryzyka, że przy okazji usunięte zostaną mapy.
Dotyczy to również plików z kodami komórek, czy brył CityGML oraz ich plików konfiguracyjnych.
Rok | Rainsted - wersje |
---|---|
2023 | 167 • 168 • 169 • 170 • 171 • 172 • ... |
2022 | 156 • 157 (MaSzyna 22.11) • 158 • 159 • 160 • 161 • 162 • 163 • 164 • 165 • 166 |
2021 | 152 • 153 • 154 • 155 |
2020 | 148 • 149 (MaSzyna 20.04) • 150 • 151 |
2019 | 141 • 142 (MaSzyna 19.04) • 143 • 144 • 145 • 146 • 147 |
2018 | 132 • 133 • 134 • 135 • 136 • 137 • 138 • 139 • 140 |
2017 | 124 • 125 • 126 • 127 • 128 • 129 • 130 • 131 |
2016 | 114 • 115 • 116 • 117 • 118 • 119 • 120 • 121 • 122 • 123 |
2015 | 108 (MaSzyna 15.02) • 109 (MaSzyna 15.04) • 110 • 111 • 112 • 113 |
2014 | 107 |
2013 | 102 (MaSzyna 01.13) • 103 • 104 • 105 (MaSzyna 08.13) • 106 |
2012 | 100 (PC2011) • 101 |
2011 | 98 (PC2010) • 99 |
2010 | 92 • 93 • 94 • 95 • 96 • 97 |
2009 | 74 .. 91 |
2008 | 37 .. 73 |
2007 | 0 .. 36 |