> 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/10_sample_workflow/10-1_getting-started-workflows/1-parametric-vase.md).

# Parametrická váza

suggested exercise

Vytvoření parametrické vázy je skvělý způsob, jak se začít seznamovat s aplikací Dynamo.

Tento pracovní postup vás naučí, jak:

* Řídit proměnné v návrhu pomocí posuvníků čísel.
* Vytvářet a upravovat geometrické prvky pomocí uzlů.
* Vizualizovat výsledky návrhu v reálném čase.

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

## Definování cílů

Než začneme pracovat v aplikaci Dynamo, navrhněme koncepčně naši vázu.

Řekněme, že chceme navrhnout hliněnou vázu, která zohledňuje postupy používané při výrobě keramiky. Keramici obvykle pomocí hrnčířského kruhu vyrobí válcovou vázu. Tlakem na vázu v různé výšce pak mohou měnit její tvar a vytvářet různé vzory.

Podobnou metodiku použijeme k definování naší vázy. Vytvoříme 4 kružnice o různých poloměrech v různých výškách a poté vytvoříme povrch šablonováním těchto kružnic.

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

## Začínáme

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

Potřebujeme uzly, které představují posloupnost akcí, které budou aplikací Dynamo provedeny. Protože víme, že se pokoušíme vytvořit kružnici, začneme vyhledáním uzlu, který to dělá. Pomocí **vyhledávacího pole** nebo procházením **knihovny** vyhledejte uzel **Circle.ByCenterPointRadius** a přidejte jej do pracovního prostoru.

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

> 1. Vyhledejte > Circle.
> 2. Vyberte > ByCenterPointRadius.
> 3. V pracovním prostoru se zobrazí uzel.

Podívejme se na tento uzel blíže. Na levé straně jsou vstupy uzlu (*centerPoint* a *radius*) a na pravé straně je výstup uzlu (circle). Všimněte si, že vstupy jsou označeny světle modrou čárou. To znamená, že vstup má výchozí hodnotu. Chcete-li získat další informace o vstupu, přesuňte ukazatel myši nad jeho název. Vstup *radius* vyžaduje dvojitý vstup a jeho výchozí hodnota je 1.

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

Ponecháme výchozí hodnotu *centerPoint*, ale přidáme uzel **Number Slider**, který nám umožní nastavit poloměr. Stejně jako u uzlu **Circle.ByCenterPointRadius** použijte knihovnu k vyhledání uzlu **Number Slider** a přidejte jej do grafu.

Tento uzel se trochu liší od předchozího uzlu, protože obsahuje posuvník. Pomocí rozhraní můžete změnit výstupní hodnotu posuvníku.

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

Posuvník lze konfigurovat pomocí rozevíracího tlačítka v levé části uzlu. Omezme posuvník na maximální hodnotu 15.

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

Nyní posuvník umístíme nalevo od uzlu **Circle.ByCenterPointRadius** a propojíme oba uzly výběrem výstupu **Number Slider** a jeho připojením ke vstupu Radius.

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

Dále změňte název posuvníku čísla: dvakrát klikněte na název uzlu a zadejte Top Radius (Horní poloměr).

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

## Další postup

Pokračujte v přidávání uzlů a jejich připojením k naší logice, abychom definovali vázu.

### Vytváření kružnic s různými poloměry

Zkopírujte tyto uzly čtyřikrát, aby kružnice definovaly povrch, a změňte názvy posuvníku čísel, jak je znázorněno níže.

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

> 1. Kružnice jsou vytvořeny pomocí středu a poloměru.

### Přesun kružnic do různých výšek vázy

Chybí nám klíčový parametr naší vázy: její výška. Abychom mohli ovládat výšku vázy, vytvoříme další posuvník čísel. Přidáme také uzel **Code Block**. Bloky kódu umožňují do pracovního postupu přidat vlastní fragmenty kódu. Pomocí bloku kódu vynásobíme posuvník výšky různými koeficienty, abychom mohli umístit kružnice podél výšky vázy.

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

Poté pomocí uzlu **Geometry.Translate** umístíme kružnice do požadované výšky. Protože chceme kružnice distribuovat podél výšky vázy, použijeme bloky kódu k vynásobení parametru výšky koeficientem.

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

> 2\. Kružnice jsou převedeny (posunuty) pomocí proměnné v ose Z.

### Vytvoření povrchu

Abychom vytvořili povrch pomocí uzlu **Surface.ByLoft**, je nutné spojit všechny převedené kružnice do seznamu. Pomocí uzlu **List.Create** spojíme všechny kružnice do jednoho seznamu a nakonec tento seznam odešleme do uzlu **Surface.ByLoft**, aby se zobrazily výsledky.

Vypněte také náhled v ostatních uzlech, aby se zobrazilo pouze zobrazení uzlu Surface.ByLoft.

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

> 3\. Povrch je vytvořen šablonováním převedených kružnic.

## Výsledky

Náš pracovní postup je připraven! Nyní můžete pomocí **posuvníků čísel** definovaných ve skriptu vytvářet různé návrhy váz.

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

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