# Dokumentování

Úpravy parametrů dokumentace probíhají podle toho, jak je vysvětleno v předchozích částech. V této části se podíváme na parametry úprav, které nemají vliv na geometrické vlastnosti prvků, ale místo toho si připravíme soubor aplikace Revit pro dokumentaci.

### Odchylka

V níže uvedeném cvičení použijeme základní odchylku od uzlu roviny k vytvoření výkresu aplikace Revit pro dokumentaci. Každý panel na parametricky definované střešní konstrukci má jinou hodnotu odchylky. Chceme vyřadit rozsah hodnot pomocí barvy a naplánováním adaptivních bodů, které předáme konzultantovi fasád, inženýrovi nebo dodavateli.

> Odchylka od uzlu roviny vypočítá vzdálenost, o kterou se sada čtyř bodů liší od roviny optimálního proložení mezi nimi. Je to rychlý a snadný způsob, jak studovat proveditelnost stavby.

## Cvičení

### Část I: Nastavení poměru otvoru panelů na základě odchylky od uzlu roviny

> Kliknutím na odkaz níže si stáhněte vzorový soubor.
>
> Úplný seznam vzorových souborů najdete v dodatku.

Začněte se souborem aplikace Revit pro tuto část (nebo pokračujte od předchozí části). Tento soubor má pole panelů ETFE na střeše. Na tyto panely se budeme odkazovat v tomto cvičení.

!

> 1. Přidejte na kreslicí plochu uzel *Family Types* a vyberte položku *ROOF-PANEL-4PT*.
> 2. Tento uzel připojte k uzlu Select *All Elements of Family Type*, abyste do aplikace Dynamo načetli všechny prvky z aplikace Revit.

!

> 1. Pomocí uzlu *AdaptiveComponent.Locations* můžete dotazovat umístění adaptivních bodů pro každý prvek.
> 2. Vytvořte polygon z těchto čtyř bodů pomocí uzlu *Polygon.ByPoints*. Všimněte si, že nyní máme abstraktní verzi panelového systému v aplikaci Dynamo, aniž by bylo nutné importovat úplnou geometrii prvku aplikace Revit.
> 3. Vypočtěte rovinnou odchylku pomocí uzlu *Polygon.PlaneDeviation*.

Stejně jako v předchozím cvičení nastavíme poměr otvoru každého panelu podle jeho rovinné odchylky.

!

> 1. Přidejte na kreslicí plochu uzel *Element.SetParameterByName* a připojte adaptivní komponenty ke vstupu *prvku*. Připojte *blok kódu*, který načte hodnotu *Aperture Ratio* do vstupu *parameterName*.
> 2. Výsledky odchylek nelze přímo připojit ke vstupu hodnoty, protože je potřeba hodnoty přemapovat na rozsah parametrů.

!

> 1. Pomocí uzlu *Math.RemapRange* přemapujte hodnoty odchylek do domény mezi 0.15 a 0\_.\_45 zadáním `0.15; 0.45;` do *bloku kódu*.
> 2. Tyto výsledky zapište do hodnoty vstupu pro *Element.SetParameterByName*.

V aplikaci Revit můžeme *trochu* pochopit změny otevření napříč povrchem.

![Cvičení](https://3694670440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVszS6grrxDyBMnEEr49a%2Fuploads%2Fgit-blob-bd6bc14f6b4960fb500527de2b1160dd83cfc993%2F13.jpg?alt=media)

Po přiblížení je zřejmé, že uzavřené panely jsou zatíženy vůči rohům povrchu. Otevřené rohy jsou směrem k horní části. Rohy představují oblasti větší odchylky, zatímco vyboulení má minimální zakřivení, což dává smysl.

![Cvičení](https://3694670440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVszS6grrxDyBMnEEr49a%2Fuploads%2Fgit-blob-b9477c83f767002082a542749d23e1e5647f07e7%2F13a.jpg?alt=media)

### Část II: Barva a dokumentace

Nastavení Aperture Ratio jasně nedemonstruje odchylku panelů na střeše a také měníme geometrii skutečného prvku. Předpokládejme, že chceme pouze prozkoumat odchylku z hlediska proveditelnosti výroby. Bylo by užitečné vybarvit panely podle rozsahu odchylky pro naši dokumentaci. To můžeme provést pomocí řady kroků uvedených níže a velmi podobným postupem jako výše uvedené kroky.

!

> 1. Odstraňte uzel *Element.SetParameterByName* a jeho vstupní uzly a přidejte uzel *Element.OverrideColourInView*.
> 2. Přidejte na kreslicí plochu uzel *Color Range* a zadejte do vstupu barvy *Element.OverrideColorInView*. Aby bylo možné vytvořit gradient, je nutné propojit hodnoty odchylek s barevným rozsahem.
> 3. Pozastavením ukazatele myši nad vstupem *value* lze vidět, že hodnoty pro vstup musí být mezi hodnotami *0* a *1*, aby bylo možné mapovat barvu na každou hodnotu. Hodnoty odchylek je nutné přemapovat do tohoto rozsahu.

!

> 1. Pomocí uzlu *Math.RemapRange* přemapujte hodnoty odchylky roviny do rozsahu od\* 0\* do *1*. (Poznámka: Pomocí uzlu *MapTo* můžete také definovat zdrojovou doménu.)
> 2. Vložte výsledky do uzlu *Color Range*.
> 3. Všimněte si, že náš výstup je rozsah barev místo rozsahu čísel.
> 4. Pokud máte nastavenou možnost Ruční, klikněte na tlačítko *Spustit*. Od této chvíle si vystačíte s nastavením Automaticky.

V aplikaci Revit vidíme mnohem čitelnější gradient, který je reprezentativní pro rovinnou odchylku podle našeho rozsahu barev. Ale co když chceme přizpůsobit barvy? Minimální hodnoty odchylek jsou znázorněny červeně, což se zdá být opak toho, co bychom očekávali. Chceme mít maximální odchylku červenou a minimální odchylkou reprezentovanou klidnější barvou. Vraťme se zpátky do aplikace Dynamo, kde to opravíme.

![](https://3694670440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVszS6grrxDyBMnEEr49a%2Fuploads%2Fgit-blob-bff6c1369f8c4e58303af7e085b6a6f3fa143c4b%2F09.jpg?alt=media)

!

> 1. Pomocí *bloku kódu* přidejte dvě čísla na dva různé řádky: `0;` a `255;`.
> 2. Vytvořte červenou a modrou barvu zadáním příslušných hodnot do dvou uzlů *Color.ByARGB*.
> 3. Vytvořte seznam z těchto dvou barev.
> 4. Tento seznam vložte do vstupu *colors* uzlu *Color Range* a sledujte, jak se aktualizuje vlastní rozsah barev.

V aplikaci Revit nyní můžeme lépe rozpoznat oblasti maximální odchylky v rozích. Tento uzel slouží k přepsání barvy v pohledu, takže může být skutečně užitečné, pokud máme konkrétní výkres v sadě výkresů, které se soustředí na konkrétní typ analýzy.

\![Cvičení](https://github.com/DynamoDS/DynamoPrimerNew/blob/master-csy/.gitbook/assets/07%20\(4\).jpg)

### Část III: Plánování

Po výběru jednoho panelu ETFE v aplikaci Revit se zobrazí čtyři parametry instance: XYZ1, XYZ2, XYZ3, a XYZ4. Po vytvoření jsou všechny prázdné. Jedná se o textově orientované parametry a potřebují hodnoty. Pomocí aplikace Dynamo zapíšeme umístění adaptivních bodů do každého parametru. To napomáhá interoperabilitě, pokud je nutné geometrii poslat inženýrovi nebo konzultantovi fasád.

!

Ve vzorovém výkresu máme velký prázdný výkaz. Parametry XYZ jsou sdílené parametry v souboru aplikace Revit, které nám umožňují přidat je do výkazu.

\![Exercise](https://github.com/DynamoDS/DynamoPrimerNew/blob/master-csy/.gitbook/assets/03%20\(8\).jpg)

Po přiblížení vidíme, že parametry XYZ nejsou dosud vyplněny. Aplikace Revit spravuje první dva parametry.

\![Cvičení](https://github.com/DynamoDS/DynamoPrimerNew/blob/master-csy/.gitbook/assets/02%20\(5\).jpg)

K zápisu do těchto hodnot provedeme složitou operaci nad seznamem. Samotný graf je jednoduchý, ale koncepty vychází z mapování seznamu, jak je popsáno v kapitole o seznamech.

!

> 1. Vyberte všechny adaptivní komponenty se dvěma uzly.
> 2. Extrahujte umístění každého bodu pomocí uzlu *AdaptiveComponent.Locations*.
> 3. Převeďte tyto body na řetězce. Nezapomeňte, že parametr je textový, takže je potřeba zadat správný typ dat.
> 4. Vytvořte seznam čtyř řetězců definujících parametry, které chcete změnit: *XYZ1, XYZ2, XYZ3* a *XYZ4*.
> 5. Tento seznam vložte do vstupu *parameterName* pro uzel *Element.SetParameterByName*.
> 6. Spojte uzel *Element.SetParameterByName* se vstupem *combinator* uzlu *List.Combine.* Připojte vstup *adaptive components* ke vstupu *list1*. Připojte uzel *String* z uzlu String from Object ke vstupu *list2*.

Zde mapujeme seznam, protože zapisujeme čtyři hodnoty pro každý prvek, který vytvoří složitou datovou strukturu. Uzel *List.Combine* definuje operaci o jeden krok níže v hierarchii dat. Proto jsou vstupy element a value uzlu *Element.SetParameterByName* ponechány prázdné. Uzel *List.Combine* připojuje podseznamy svých vstupů k prázdným vstupům uzlu *List.SetParameterByName* podle pořadí jejich připojení.

Po výběru panelu v aplikaci Revit nyní vidíme, že pro každý parametr máme hodnoty řetězce. Ve skutečnosti vytvoříme jednodušší formát pro zápis bodu (X,Y,Z). To lze provést pomocí řetězcových operací v aplikaci Dynamo, ale to nyní obejdeme, abychom neodbočovali od tématu.

![](https://3694670440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVszS6grrxDyBMnEEr49a%2Fuploads%2Fgit-blob-05c4f558a4deec824e05b75ef6100df0cc0a9ce1%2F04%20\(5\).jpg?alt=media)

Pohled ukázkového výkazu s vyplněnými parametry.

![](https://3694670440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVszS6grrxDyBMnEEr49a%2Fuploads%2Fgit-blob-28aaf075f0a37c6b15b862452b29ca26f5323c02%2F01%20\(9\).jpg?alt=media)

Každý panel ETFE nyní obsahuje souřadnice XYZ zapsané pro každý adaptivní bod, což představuje rohy jednotlivých panelů pro výrobu.

![Cvičení](https://3694670440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVszS6grrxDyBMnEEr49a%2Fuploads%2Fgit-blob-2e74c56559d8656b38cf4f6ac37d348dd31d3c9b%2F00%20\(8\).jpg?alt=media)
