Podczas dodawania rur i konstrukcji do sieci rurociągów program Civil 3D używa szablonu do automatycznego przypisywania nazw. Jest to zwykle wystarczające podczas wstępnego umieszczania. Jednak w miarę rozwoju projektu nazwy będą musiały ulec zmianie. Ponadto może być wymaganych wiele różnych wzorów nazewnictwa, na przykład nadawanie konstrukcjom w rurociągu nazw sekwencyjnych od konstrukcji najdalszej w kolejności lub stosowanie wzoru nazewnictwa zgodnego ze schematem danych agencji lokalnej. W tym przykładzie pokazano, jak za pomocą dodatku Dynamo można definiować dowolnego typu strategię nazewnictwa, która ma być stosowana spójnie.
Praca z ramkami ograniczającymi
Filtrowanie danych za pomocą węzła List.FilterByBoolMask
Sortowanie danych za pomocą węzła List.SortByKey
Generowanie i modyfikowanie ciągów tekstowych
Ten wykres będzie działać w programie Civil 3D 2020 i w nowszych wersjach.
Najpierw pobierz pliki przykładów poniżej, a następnie otwórz plik DWG i wykres dodatku Dynamo.
Poniżej przedstawiono przegląd logiki na tym wykresie.
Wybieranie konstrukcji na podstawie warstwy
Pobieranie lokalizacji konstrukcji
Filtrowanie konstrukcji na podstawie odsunięć, a następnie sortowanie ich na podstawie pikiet
Generowanie nowych nazw
Zmienianie nazw konstrukcji
Zacznijmy!
Najpierw musimy wybrać wszystkie konstrukcje, z którymi będziemy pracować. W tym celu wystarczy wybrać wszystkie obiekty na określonej warstwie, co oznacza, że można wybrać konstrukcje z różnych sieci rurociągów (przy założeniu, że mają one tę samą warstwę).
Ten węzeł gwarantuje, że nie zostaną przypadkowo pobrane żadne niepożądane typy obiektów, które mogą mieć tę samą warstwę co konstrukcje.
Mamy już konstrukcje. Teraz musimy ustalić ich położenia w przestrzeni, tak aby można było je sortować według lokalizacji. W tym celu skorzystamy z ramek ograniczających poszczególnych obiektów. Ramka ograniczająca obiektu to ramka o minimalnym rozmiarze, która w pełni zawiera geometryczne zakresy obiektu. Obliczając środek ramki ograniczającej, otrzymujemy całkiem dobre przybliżenie punktu wstawiania konstrukcji.
Za pomocą tych punktów ustalimy pikiety i odsunięcia konstrukcji względem wybranej linii trasowania.
Tutaj zaczyna się robić trochę trudniej. Na tym etapie mamy dużą listę wszystkich konstrukcji na określonej warstwie i wybraliśmy linię trasowania, wzdłuż której mają być sortowane. Problem w tym, że na liście mogą znajdować się konstrukcje, których nazw nie chcemy zmieniać. Mogą one na przykład nie być częścią interesującego nas segmentu.
Wybrana linia trasowania
Konstrukcje, których nazwy chcemy zmienić
Konstrukcje, które powinny zostać pominięte
Dlatego musimy przefiltrować listę konstrukcji, aby nie uwzględniać tych, które mają odsunięcie od linii trasowania większe niż określone. Najlepiej zrobić to za pomocą węzła List.FilterByBoolMask. Po przefiltrowaniu listy konstrukcji użyjemy węzła List.SortByKey, aby posortować je według wartości pikiet.
Jeśli nie zdarzyło Ci się jeszcze pracować z listami, skorzystaj z sekcji Praca z listami.
Sprawdzanie, czy odsunięcie konstrukcji jest mniejsze niż wartość progowa
Zastąpienie wszelkich wartości null wartością false
Filtrowanie listy konstrukcji i pikiet
Sortowanie konstrukcji według pikiet
Ostatnią czynnością, którą musimy wykonać, jest utworzenie nowych nazw konstrukcji. Użyjemy formatu <alignment name>-STRC-<number>
. Dodano tu jeszcze kilka węzłów, aby w razie potrzeby uzupełnić liczby o dodatkowe zera (np. „01” zamiast „1”).
Wreszcie przechodzimy do zmieniania nazw konstrukcji.
Oto przykład uruchomienia wykresu za pomocą Odtwarzacza Dynamo.
Jeśli nie znasz jeszcze Odtwarzacza Dynamo Player, skorzystaj z sekcji Odtwarzacz Dynamo (Dynamo Player).
Przydatne może być wykorzystanie podglądu tła 3D dodatku Dynamo do wizualizacji pośrednich danych wyjściowych wykresu zamiast tylko wyniku końcowego. Jednym z prostych rozwiązań jest wyświetlenie ramek ograniczających dla konstrukcji. Ponadto ten konkretny zestaw danych zawiera korytarz w dokumencie, dlatego można przenieść geometrię linii charakterystycznych korytarza do dodatku Dynamo, aby zapewnić kontekst dla lokalizacji konstrukcji w przestrzeni. Jeśli wykres zostanie użyty z zestawem danych bez żadnych korytarzy, węzły te po prostu nie wykonają żadnych działań.
Teraz możemy lepiej zrozumieć, jak działa proces filtrowania konstrukcji na podstawie odsunięć.
Oto kilka pomysłów na rozszerzenie możliwości tego wykresu.
Zmień nazwy konstrukcji na podstawie ich najbliższych linii trasowania, zamiast wybierać określoną linię trasowania.
Zmień nazwy rur, a nie tylko konstrukcji.
Ustaw warstwy konstrukcji na podstawie ich segmentów.
Zmiana nazw konstrukcji sieci rurociągów w kolejności opartej na pikietażu linii trasowania.
Misja wykonana!