# Obwiednia prześwitu

<figure><img src="/files/ClhgnWKK7UB8IyrNugWI" alt=""><figcaption></figcaption></figure>

Opracowywanie obwiedni kinematycznych do weryfikacji prześwitu jest ważną częścią projektów kolejowych. Za pomocą dodatku Dynamo można generować bryły dla obwiedni, zamiast tworzyć złożone podzespoły korytarzy i zarządzać nimi w celu wykonania tego zadania.

## Cel

> :dart: Wygenerowanie za pomocą bloku profilu pojazdu brył 3D obwiedni prześwitu wzdłuż korytarza.

## Kluczowe pojęcia

> * Praca z liniami charakterystycznymi korytarza
> * Przekształcanie geometrii między układami współrzędnych
> * Tworzenie brył przez wyciągnięcie
> * Kontrolowanie zachowania węzłów za pomocą ustawień skratowania

## Zgodność wersji

{% hint style="success" %}
Ten wykres będzie działać w programie **Civil 3D 2020** i w nowszych wersjach.
{% endhint %}

## Zestaw danych

Najpierw pobierz pliki przykładów poniżej, a następnie otwórz plik DWG i wykres dodatku Dynamo.

{% file src="/files/C1F6CyvBbbEdPSLMQBzI" %}

{% file src="/files/250QXEiLsPjqAJVOIJlG" %}

## Rozwiązanie

Poniżej przedstawiono przegląd logiki na tym wykresie.

> 1. Pobieranie linii charakterystycznych z określonej linii bazowej korytarza
> 2. Generowanie układów współrzędnych wzdłuż linii charakterystycznej korytarza w żądanych odstępach
> 3. Przekształcanie geometrii bloku profilu do układów współrzędnych
> 4. Wyciąganie bryły między profilami
> 5. Tworzenie brył w programie Civil 3D

Zacznijmy!

### Pobieranie danych korytarza

Pierwszym krokiem jest pobranie danych korytarza. Wybierzemy model korytarza na podstawie jego nazwy, pobierzemy określoną linię bazową w korytarzu, a następnie pobierzemy linię charakterystyczną w linii bazowej na podstawie kodu punktu.

<figure><img src="/files/eSRUcsWajB1W5QoX9R4M" alt=""><figcaption><p>Wybieranie korytarza, linii bazowej i linii charakterystycznej</p></figcaption></figure>

### Generowanie układów współrzędnych

Teraz wygenerujemy **układy współrzędnych** wzdłuż linii charakterystycznych korytarza między daną pikietą początkową a końcową. Te układy współrzędnych zostaną użyte do wyrównania geometrii bloku profilu pojazdu względem korytarza.

{% hint style="info" %}
Jeśli pierwszy raz masz do czynienia z układami współrzędnych, skorzystaj z sekcji [Wektor, płaszczyzna i układ współrzędnych](/pl/5_essential_nodes_and_concepts/5-2_geometry-for-computational-design/2-vectors.md).
{% endhint %}

<figure><img src="/files/ajfRRH9Ns3cnq36O0o8A" alt=""><figcaption><p>Pobieranie układów współrzędnych wzdłuż linii charakterystycznych korytarza</p></figcaption></figure>

> 1. Zwróć uwagę na małą pozycję **XXX** w prawym dolnym rogu węzła. Oznacza to, że ustawienia skratowania węzła skonfigurowano jako *Iloczyn wektorowy*, co jest niezbędne do generowania układów współrzędnych przy tych samych wartościach pikiet dla obu linii charakterystycznych.

{% hint style="info" %}
Jeśli pierwszy raz masz do czynienia ze skratowaniem węzłów, skorzystaj z sekcji [Co to jest lista](/pl/5_essential_nodes_and_concepts/5-4_designing-with-lists/1-whats-a-list.md).
{% endhint %}

### Przekształcanie geometrii bloku

Teraz musimy w jakiś sposób utworzyć szyk profili pojazdów wzdłuż linii charakterystycznych. Przekształcimy geometrię z definicji bloku profilu pojazdu za pomocą węzła **Geometry.Transform**. Zwizualizowanie tej koncepcji jest trudne, więc zanim przyjrzymy się węzłom, przeanalizujmy grafikę pokazującą, co się stanie.

<figure><img src="/files/nm8Le6Gz5fIOD9rVYEZw" alt=""><figcaption><p>Wizualizacja przekształcania geometrii między układami współrzędnych.</p></figcaption></figure>

Zasadniczo pobieramy geometrię dodatku Dynamo z *pojedynczej* definicji bloku i przesuwamy/obracamy ją podczas tworzenia szyku wzdłuż linii charakterystycznej. Świetnie! Oto jak wygląda sekwencja węzłów.

<figure><img src="/files/6V8d1MdjqguMhESm9sTB" alt=""><figcaption></figcaption></figure>

> 1. Tutaj następuje pobranie definicji bloku z dokumentu.
> 2. Te węzły pobierają geometrię dodatku Dynamo obiektów w bloku.
> 3. Te węzły zasadniczo definiują układ współrzędnych, *z którego* przekształcana jest geometria.
> 4. Ten węzeł wykonuje rzeczywistą pracę nad przekształceniem geometrii.
> 5. Zwróć uwagę na *najdłuższe* skratowanie w tym węźle.

Oto co uzyskamy w dodatku Dynamo.

<figure><img src="/files/ZVTQUY0xLZWhJ9W7ABsl" alt=""><figcaption><p>Geometria bloku profilu pojazdu po przekształceniu</p></figcaption></figure>

### Generowanie brył

Dobra wiadomość! Najcięższą pracę mamy już za sobą. Teraz wystarczy wygenerować bryły między profilami. Można to łatwo zrobić za pomocą węzła **Solid.ByLoft**.

<figure><img src="/files/hW7Mw5cTC1jwkeIqby8E" alt="" width="325"><figcaption></figcaption></figure>

Oto wynik. Pamiętaj, że są to bryły dodatku Dynamo — nadal trzeba je utworzyć w programie Civil 3D.

<figure><img src="/files/WK4h112ZK3xgn6mGReMt" alt=""><figcaption><p>Bryły dodatku Dynamo po wyciągnięciu złożonym</p></figcaption></figure>

### Wyprowadzanie brył do programu Civil 3D

Ostatnią czynnością jest wyprowadzenie wygenerowanych brył do obszaru modelu. Nadamy im również kolor, który ułatwi ich oglądanie.

<figure><img src="/files/6i2w2QqhQxeRiUYd7dGe" alt=""><figcaption><p>Wyprowadzanie brył do programu Civil 3D</p></figcaption></figure>

### Wynik

Oto przykład uruchomienia wykresu za pomocą **Odtwarzacza Dynamo**.

<figure><img src="/files/ClhgnWKK7UB8IyrNugWI" alt=""><figcaption><p>Uruchamianie wykresu za pomocą Odtwarzacza Dynamo i wyświetlanie wyników w programie Civil 3D</p></figcaption></figure>

{% hint style="info" %}
Jeśli nie znasz jeszcze Odtwarzacza Dynamo Player, skorzystaj z sekcji [Odtwarzacz Dynamo (Dynamo Player)](/pl/dynamo-for-civil-3d/dynamo-player.md).
{% endhint %}

> :tada: Misja wykonana!

## Pomysły

Oto kilka pomysłów na rozszerzenie możliwości tego wykresu.

{% hint style="info" %}
Dodaj możliwość używania **różnych zakresów pikiet** oddzielnie dla poszczególnych torów.
{% endhint %}

{% hint style="info" %}
**Podziel bryły** na mniejsze segmenty, które można analizować indywidualnie pod kątem kolizji.
{% endhint %}

{% hint style="info" %}
Sprawdź, czy bryły obwiedni **przecinają się z obiektami** i pokoloruj te, w przypadku których występują kolizje.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://primer2.dynamobim.org/pl/dynamo-for-civil-3d/sample-workflows/rail/clearance-envelope.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
