Cześć,
Dziś pokażę jak do opisu osi w planie dodać symbole hektometrów. W podobny sposób będzie można potem dodać symbole kilometrów.
Skorzystam z polskiego Data Set, który można pobrać ze strony Bentleya, jak zalogujemy się na nasze konto. Polski Data Set dodaje Workspace „PL_Roads” oraz Workset „Przykladowy_WorkSet”. Jeśli korzystacie z innego Workspace to wszystko będzie wyglądało podobnie – trochę inaczej mogą wyglądać ścieżki do plików.
Opisanie osi w planie
Tworzę nowy plik i rysuję w nim oś w planie na Feature Definition „G_Os”. Korzystam z funkcji Annotate Element z zakładki Drawing Production, aby opisać element. Klikam na element lewym przyciskiem myszy (aby go wybrać), a następnie prawym przyciskiem myszy (aby potwierdzić, że już nie chcę wybierać więcej elementów). Oś powinna opisać się automatycznie i będzie trzymała ten styl opisu nawet przy zmianach osi w planie.
Oś dostała opis (dokładniej Annotation Group), który ma domyślnie przypisany do Feature Definition. Jeśli chcielibyście sprawdzić jaki jest to Annotation Group, to trzeba by wejść w Project Explorer i pobawić się z ustawieniami Feature Definition. Feature Definition „G_Os” ma domyślnie przypisany do siebie Annotation Group o nazwie „Opis_Trasy_Pelny”.
Po opisaniu widać jednak, że w pełnych hektometrach znajduje się jedynie trochę grubsza i dłuższa kreska, wraz z opisem kilometraża. Niestety nie ma symbolu hektometra.

Biblioteki z Cell (biblioteki z komórkami)
Hektometr dodam do Annotation Group w postaci Cell (komórki). Cell jest niczym innym jak bardziej złożonym elementem, który najczęściej składa się z wielu podstawowych elementów. We wcześniejszych wersjach InRoads takie Cell tworzyło się głównie z palety Microstation. O wiele wygodniej jest to jednak robić w postaci odrębnego modelu. Wszystkie Cell dla Workspace, w którym pracuję znajdują się w folderze:
C:\ProgramData\Bentley\OpenRoads Designer 2024.00\Configuration\Organization-Civil\_PL\Cell
Pliki mają rozszerzenia .cel i w każdym z nich znajdują się różne Cell (tak jak pisałem – każda w postaci modelu). Wszystkie pliki można otwierać przez OpenRoads Designer i na pierwszy rzut oka nie różnią się niczym od zwykłych plików .dgn.

Tak naprawdę nie ma znaczenia, w którym pliku dodam mój hektometr, bo i tak wszystkie są ładowane w ramach Workspace. Ja otwieram plik „Plan View Labeling – Polish”. Okno z modelami pokazuje jakie Cell znajdują się w tym pliku.

Tworzenie Cell z symbolem hektometra
Kopiuję jeden z dostępnych modeli i zapisuję go pod nową nazwą „Hektometr”. Pozostaje mi usunąć zawartość modelu i narysować hektometrowe kółko. Wspomnę jeszcze o paru ważnych rzeczach:
- Annotation Group w OpenRoads Designer są skalowalne tzn. możemy mieć jeden Annotation Group dla różnych skali modelu. Wtedy opis w skali 1:500 będzie różnił się dwukrotnie rozmiarem od opisu w skali 1:1000. Dlatego Cell również musi być skalowalna. Warto wejść w Properties naszego modelu i sprawdzić, czy opcja Can be Placed as Annotation Cell jest zaznaczona jako True.
- Symbol hektometra powinien mieć rzeczywistą wielkość, a nie przeskalowaną. Wiąże się to z poprzednim punktem. Jeśli stworzę hektometr o średnicy 0,005 m (5 mm), to w skali 1:1000 będzie miał on 5 m średnicy na rysunku. Po ponownym przeskalowaniu na arkuszu, ostatecznie na papierze otrzymamy kółko o średnicy 5 mm.
- Kółko (jego środek) trzeba wstawić w punkcie XY (0,0), żeby później Cell wstawiała się w dobrym miejscu.
- Jeśli ktoś wcześniej tworzył Cell przy pomocy palety Microstation (np. funkcja Place Active Cell), to może o tym zapomnieć. Teraz wystarczy jedynie narysować coś w modelu. Nie trzeba również zbijać tego w grupę. Jest to bardzo wygodnie, bo pozwala na proste zmiany w Cell.

Rysuję symbol zwykłymi funkcjami Microstation. Przypominam, że rysuję kółko o średnicy rzeczywistej i nieprzeskalowanej, czyli ja np. przyjmę 0,005 m. Skorzystałem jedynie z następujących funkcji Microstation:
- Place Circle,
- Place SmartLine,
- Create Region.

Cell jest gotowa, więc zapisuję i zamykam plik.
Edycja Annotation Group
Mógłbym edytować Annotation Group w pliku, który stworzyłem na samym początku artykułu. Byłoby to jednak niepraktycznie, bo zrobiłbym to lokalnie w pliku, w którym jestem. Lepiej zrobić to w bibliotece Workspace, tak aby korzystać z tych zmian przy każdym nowym pliku lub po aktualizacji tych już istniejących.
Główne biblioteki znajdują się w folderze (teoretycznie to nie poziom Workspace, a Organizacji):
C:\ProgramData\Bentley\OpenRoads Designer 2024.00\Configuration\Organization-Civil\_PL\Dgnlib\Feature-Definitions
Są to pliki w formacie .dgnlib, które zawierają najważniejsze ustawienia Workspace m.in. warstwy, Feature Definitions, Annotation Groups itd. Ja otwieram plik o nazwie „Features_Annotations_Levels_Elem-Temp_Polish.dgnlib”, ponieważ wiem, że w nim znajduje się Annotation Group, z którego skorzystałem w pierwszym akapicie tego artykułu.

Wchodzę w Project Explorer, zakładkę OpenRoads Standards, rozwijam ustawienia, szukam Annotation Group, klikam na niego prawym przyciskiem myszy i wybieram Manage. Otworzy się okno do edycji.

Nie będę zagłębiał się nad wszystkimi ustawieniami Annotation Group, bo jest to temat na inny artykuł. Po lewej stronie znajduje się lista Annotation Definition. Klikam „Pikiety główne – znaczniki”. Są to poprzeczne kreski, które wyświetlają się co 100 m. Wiem to stąd, że jak wejdę w zakładkę Location i rozwinę Stations to zauważę, że ten element wyświetli się równo co 100 m. W kolejnych zakładkach zmieniam:
- Annotate – zmieniam With Line na With Cell, bo nie chcę, żeby to była linia, tylko mój nowy symbol hektometra.
- Cell – z listy Name wybieram Hektometr, czyli Cell, którą przed chwilą stworzyłem.
- Placement – wracam jeszcze do tej zakładki, bo widzę na podglądzie z prawej strony, że Cell jest lekko przesunięta względem osi. Zmieniam Perpendicular Offset na 0 i Rotation na 90 stopni.

Teoretycznie byłoby ładniej, gdyby odsunąć trochę ten tekst „0+100” do kółka hektometrowego. Pozostawiam to Wam. Podpowiem, że trzeba znaleźć z lewej strony odpowiedni Annotation Definition i zmienić mu Offset w zakładce Placement.
Zapisuję plik i z niego wychodzę.
Aktualizacja opisu
Wracam do mojego pliku z pierwszego akapitu. Jeśli był on cały czas otwarty to muszę go zamknąć i otworzyć ponowie, żeby załadowały się nowo zmieniane biblioteki. Zmiany jednak nie załadują się same. W głównej bibliotece edytowałem właśnie Annotation Group, ale ten który mam w tym pliku został skopiowany z biblioteki, gdy nie uwzględniała ona jeszcze tamtych zmian. Żeby go zaktualizować wchodzę w Project Explorer, klikam prawym przyciskiem myszy na nazwę pliku i wybieram Update Standards From dgnlib. Teraz dopiero mogę usunąć opis i dodać nowy.

U mnie kółko wyszło dość spore, bo przy skali 1:1000 ma aż 10 m średnicy. Wynika to z faktu, że rysując je wybrałem tryb promienia, zamiast średnicy 😊 Można również tak pozmieniać Annotation Group, żeby w km 0+000 nie pokazywał symbolu hektometra, tylko kilometra. To również pozostawiam już Wam.
Podsumowanie
Dodanie symbolu hektometra do opisu osi, na pierwszy rzut oka może wydawać się skomplikowane, ale takie nie jest. Wystarczy najpierw stworzyć Cell, a potem przypisać ją do Annotation Group. Schody zaczynają się gdy chcemy zmieniać więcej ustawień Annotation Group dla planu, profilu, poprzeczek itd. Pocieszające jednak jest to, że zazwyczaj wystarczy to zrobić raz, a będzie nam służyło na długo.
Super wytłumaczone!
Mam jeszcze pytanie bardziej BIM-owe. Co należałoby zrobić w sytuacji, gdy w modelu 3D trzeba pokazać cellkę (odpowiednik tej z planu), która miałaby zaszyte informacje o danym hektometrze (pewnie w formie Item Type) tak aby przy eksporcie do formatu IFC ta informacja została zawarta w pliku?
Zaczynając od samego kilometraża komponentu to takowy można złapać w Item Types. Przykład takiego rozwiązania można podejrzeć w Bentleyowym Workspace „Training and Examples” i Workset „Metric”. Jest tam Item Type „Location – Station Offset”. Działa to tak, że jako Reference Alignment trzeba wpisać nazwę osi (ręcznie), od której ma brać kilometraż. Nazwę osi w pole Reference Alignment można wkleić w Properties już po przypisaniu Item Type. Program wtedy sam odczytuje początkowy i końcowy kilometr i mamy go jako parametr BIMowy.
Nie mam pewności czy da się zrobić tak żeby Civil Cell sama odczytała do której osi została dowiązana i sama uzupełniła ten Reference Alignment. Myślę, że tak się nie da, ale też nie sprawdzałem.
Tak na szybko to rozwiązałbym to w następujący sposób. Załóżmy mam do wstawienia wiele zjazdów na drodze. W bibliotece dgnlib z Civil Cell dla każdego komponentu zjazdu dodaję już sobie ten Item Type z Reference Alignment i odczytywaniem kilometraża. Potem wstawiam wszystkie zjazdy, zaznaczam jednocześnie wszystkie komponenty i w Properties hurtowo wpisuję im Reference Alignment. Każdy komponent ma wtedy swój kilometraż początkowy i końcowy. Zajmie to minutę, a uzyskam ten sam efekt jakbym jakimś cudem zautomatyzował to z Civil Cell.
Mam nadzieję, że o to chodziło – jak nie to jeszcze coś pokombinujemy. Przy okazji nie mam powiadomień przy nowych komentarzach, więc czasem trzeba poczekać na odpowiedź 🙂
Dzięki za pomysł, myślę że to dobry kierunek 🙂