> For the complete documentation index, see [llms.txt](https://primer2.dynamobim.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://primer2.dynamobim.org/cs/dynamo-for-civil-3d/sample-workflows/rail/clearance-envelope.md).

# Vůle obalových křivek

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

Vývoj kinematických obálek pro ověření průjezdnosti je důležitou součástí návrhu železnice. Aplikaci Dynamo lze použít k vytvoření těles pro obalovou křivku místo vytváření a správy složitých podsestav koridoru pro tuto úlohu.

## Cíl

> :dart: Pomocí bloku profilu vozidla vygenerujte 3D tělesa s volným prostorem podél koridoru.

## Klíčové koncepty

> * Práce s návrhovými liniemi koridoru
> * Transformace geometrie mezi souřadnicovými systémy
> * Vytvoření těles šablonováním
> * Řízení chování uzlu pomocí nastavení vázání

## Kompatibilita verzí

{% hint style="success" %}
Tento graf bude funkční v aplikaci \*\*Civil 3D 2020\*\* a vyšších verzích.
{% endhint %}

## Datová sada

Začněte stažením níže uvedených vzorových souborů a poté otevřete soubor DWG a graf aplikace Dynamo.

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

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

## Řešení

Zde je uveden přehled logiky tohoto grafu.

> 1. Získejte návrhové linie ze zadané základny koridoru.
> 2. Vytvořte souřadnicové systémy podél návrhové linie koridoru s požadovanou roztečí.
> 3. Transformujte geometrii bloku profilu do souřadnicových systémů.
> 4. Šablonujte těleso mezi profily.
> 5. Vytvořte tělesa v aplikaci Civil 3D.

Pojďme na to!

### Získání dat koridoru

Prvním krokem je získání dat koridoru. Model koridoru vybereme podle jeho názvu, v rámci koridoru vybereme konkrétní základnu a poté získáme návrhovou linii v rámci základny podle jejího kódu bodu.

<figure><img src="/files/BKfllbrLTmAhPRS4BpKO" alt=""><figcaption><p>Výběr koridoru, základny a návrhové linie</p></figcaption></figure>

### Vytvoření souřadnicových systémů

Nyní vytvoříme **souřadnicové systémy** podél návrhových linií koridoru mezi daným počátečním a koncovým staničením. Tyto souřadnicové systémy se použijí k zarovnání geometrie bloku profilu vozidla s koridorem.

{% hint style="info" %}
Pokud jsou pro vás souřadnicové systémy novinkou, přečtěte si část \[2-vectors.md]\(../../../5\\\_essential\\\_nodes\\\_and\\\_concepts/5-2\\\_geometry-for-computational-design/2-vectors.md "mention") .
{% endhint %}

<figure><img src="/files/8y8jV9MP61rsjUkmonGP" alt=""><figcaption><p>Získání souřadnicových systémů podél návrhových linií koridoru</p></figcaption></figure>

> 1. Všimněte si malých písmen **XXX** v pravém dolním rohu uzlu. Tato písmena znamenají, že nastavení vázání uzlu je nastaveno na hodnotu *Vektorový součin*, což je nutné k vytvoření souřadnicových systémů ve stejných hodnotách staničení pro obě návrhové linie.

{% hint style="info" %}
Pokud je vázání uzlu pro vás novinkou, přečtěte si část \[1-whats-a-list.md]\(../../../5\\\_essential\\\_nodes\\\_and\\\_concepts/5-4\\\_designing-with-lists/1-whats-a-list.md "mention") .
{% endhint %}

### Transformace geometrie bloku

Nyní je třeba nějakým způsobem vytvořit pole profilů vozidel podél návrhových linií. Provedeme transformaci geometrie z definice bloku profilu vozidla pomocí uzlu **Geometry.Transform**. Tento koncept je složitý na vizualizaci, takže než se podíváme na uzly, zde je grafické znázornění toho, co se stane.

<figure><img src="/files/WLMxp4YmSx92m8XSEVGP" alt=""><figcaption><p>Vizualizace transformace geometrie mezi souřadnicovými systémy.</p></figcaption></figure>

V podstatě tedy přebíráme geometrii aplikace Dynamo z *jedné* definice bloku a přesouváme/otáčíme ji, přičemž vytváříme pole podél návrhové linie. Skvělá věc! Takto vypadá posloupnost uzlů.

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

> 1. Tento uzel získá definici bloku z dokumentu.
> 2. Tyto uzly získají geometrii objektů aplikace Dynamo v rámci bloku.
> 3. Tyto uzly v podstatě definují souřadnicový systém, *ze kterého* transformujeme geometrii.
> 4. A konečně tento uzel provádí vlastní transformaci geometrie.
> 5. Všimněte, že v tomto uzlu je definováno vázání *Nejdelší*.

A tady vidíme výsledek v aplikaci Dynamo.

<figure><img src="/files/WYHMy6BBh7tHX3CuG5H1" alt=""><figcaption><p>Geometrie bloku profilu vozidla po transformaci</p></figcaption></figure>

### Vytvoření těles

Máme pro vás skvělou zprávu. To nejtěžší je za námi. Nyní je třeba pouze vygenerovat tělesa mezi profily. Toho snadno dosáhneme pomocí uzlu **Solid.ByLoft**.

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

Zde je výsledek. Nezapomeňte, že se jedná o tělesa aplikace Dynamo – musíme je ještě vytvořit v aplikaci Civil 3D.

<figure><img src="/files/jTqTtopmzMOsh5Z20tOc" alt=""><figcaption><p>Tělesa aplikace Dynamo po šablonování</p></figcaption></figure>

### Výstup těles do aplikace Civil 3D

Posledním krokem je vytvoření vygenerovaných těles v modelovém prostoru. Také jim přiřadíme barvu, aby byly dobře viditelné.

<figure><img src="/files/2LbJzM8svQk4FoBtZngI" alt=""><figcaption><p>Výstup těles do aplikace Civil 3D</p></figcaption></figure>

### Výsledek

Zde je příklad spuštění grafu pomocí **Přehrávače skriptů Dynamo**.

<figure><img src="/files/hh4i4rN7zMSJi6heqwda" alt=""><figcaption><p>Spuštění grafu pomocí Přehrávače skriptů Dynamo a zobrazení výsledků v aplikaci Civil 3D</p></figcaption></figure>

{% hint style="info" %}
Pokud je pro vás Přehrávač skriptů Dynamo novinkou, přečtěte si část \[dynamo-player.md]\(../../dynamo-player.md "mention").
{% endhint %}

> :tada: Úkol splněn!

## Nápady

Zde je několik nápadů, jak byste mohli rozšířit možnosti tohoto grafu.

{% hint style="info" %}
Přidejte možnost používat \*\*různé rozsahy staničení\*\* pro každou trasu zvlášť.
{% endhint %}

{% hint style="info" %}
\*\*Rozdělte tělesa\*\* na menší segmenty, které by bylo možné jednotlivě analyzovat z hlediska kolizí.
{% endhint %}

{% hint style="info" %}
Zkontrolujte, zda se obálka těles \*\* protíná s návrhovými liniemi\*\* a vybarvěte ty, které se střetávají.
{% endhint %}
