Tímto článkem startuje nová série věnující se čím dál oblíbenějšímu algoritmizačnímu nástroji Dynamo, který se již do Revitu plně integroval. Co je Dynamo, jak mi může usnadnit práci a hodí se vůbec pro mě? Na tyto otázky lze v článku nalézt odpovědi. Následovat budou také rady, na co si dát při používání Dynama pozor, a tipy pro efektivní práci.

Co je Dynamo, příklady použití

V souvislosti s Autodesk produkty a zejména s Revitem je dnes tento termín často používán. Jedná se o doplněk, ve kterém lze pomocí vizuálního programovacího jazyka docílit mnoha výsledků a který může výrazně usnadnit práci. Možné příklady využití jsou tyto:

  • Parametrické modelování

Asi nejznámější použití Dynama. S jeho pomocí lze modelovat tvary a objemy, které nejsou standardně možné (křivky, plochy, komplexní objemy apod.). Další výhodou je právě parametrizovatelnost modelu, kdy lze jednoduše měnit geometrii (případně vlastnosti) daného modelu a velice rychle tak tvořit různé varianty s okamžitým efektem, například plochy podlaží, objem navrhované hmoty apod.

Další možností modelování jsou komplikované fasády a podhledy s mnoha prvky,které je sice možné parametricky vyjádřit (parametrizace přes křivky a plochy), avšak je to složité.

Praktické použití je však vhodné pro relativně úzkou skupinu architektů a projektantů.

Panely Abú Dhabi

Panely Abú Dhabi

  • Automatizace jednoduchých procesů

Tento příklad je naopak vhodný takřka pro každého. Dynamo vám může snadno pomoci při zpracování rutinních úkolů (přečíslování objektů, založení pracovních sad, tvorba podlaží, změna písma na kapitálky apod.). Tyto operace jsou zpravidla jednoduché, avšak časově velmi náročné, a pomocí jednoduchých skriptů lze práci podstatně zefektivnit.

Seznámení s Dynamem

  • Práce s daty (import/export)

Pomocí Dynama lze hromadně importovat/exportovat data do/z Excelu (a mnoha dalších softwarů), vyplňovat parametry na základě libovolných podmínek (kombinace parametrů, přidávání prefixu apod.). Opět jde o způsob, jak zefektivnit práci.

  • Analýzy a optimalizace

Nejkomplexnější oblastí je potom využití Dynama v oblasti analýz a optimalizací. Model lze takto napojit na řadu dalších nástrojů, které slouží např. k výpočtu tepelně technických vlastností.

Možné použití pro analýzy pomocí nástrojů Ladybug

Možné použití pro analýzy pomocí nástrojů Ladybug

“A long time ago in a galaxy far, far away…”

Dynamo vzniklo v roce 2011 jako doplněk do Revitu (zdroj, zdroj), který měl za cíl ovládat Revit podobně, jako to již tou dobou uměl Grasshopper s Rhinem. Jeho autor, Ian Keough, jej dal volně k dispozici na svůj GitHub, odkud se doplněk začal postupně komunitně šířit, až si jej všiml Autodesk, který vzápětí začal vývoj Dynama řídit. Doplněk poté bylo možné stáhnout a nainstalovat (v Revitu se objevil v kartě Doplňky). Spolu s roztoucím zájmem odborné večejnosti se také rozšiřovala funkcionalita. První oficiální verze (Relase 1.0.0) byla dána k dispozici v roce 2016 a od verze Revit 2018 je Dynamo přímou součástí instalace Revitu (na kartě Správa).

V současné době existují dva způsoby použití Dynama, jako již zmíněný doplněk pro Revit (zdarma v rámci Revit licence) nebo jako samostatná aplikace Dynamo Studio (placená). Tato placená verze obsahuje navíc možnost odeslat skriptna server Autodesku a pomocí generativního designového nástroje Project Fractal vytvořit na základě okrajových podmínek například hmotovou optimalizaci návrhu.

Dynamo lze používat také s dalšími softwary z dílny Autodesku: Fusion 360, Robot Structure Analysis nebo FormIt.

Počátky Dynama

Počátky Dynama

Počátky Dynama

zdroj: http://primer.dynamobim.org/en/08_Dynamo-for-Revit/8-1_The-Revit-Connection.html

Pracujeme v Dynamu

Práce v Dynamu spočívá ve spojování Uzlů (neboli pracovních kroků) pomocí Vláken do jednotlivých logických celků, které tvoří výsledný skript.. Více o principu práce zde, seznam jednotlivých Uzlů k dispozici zde.

Na první pohled se může zdát, že je práce s větším množstvím Uzlů složitá, avšak lze najít podobné vzory, ze kterých lze snadno vycházet. Například tyto:

  • Tvorba geometrie v Dynamu → tvorba geometrie v Revitu
  • Vybrání prvku(ů) z Revitu → operace v Dynamu → zapsání do Revitu
  • Definice externího souboru → vybrání prvku(ů) v Revitu → operace v Dynamu → zapsání dat do externího souboru.

V projekční praxi to zpravidla funguje tak, že se v kanceláři najde nadšenec, který Dynamo prozkoumá a vytvoří skripty pro ostatní kolegy (tuto roli lze také dohodnout externě jako službu). Tyto skripty lze poté uložit (například na interní server) a pomocí Dynamo Playeru (také součást Revitu) je lze provádět na dalších pracovních stanicích. A to již zcela bez nutné znalosti Dynama.

Na co si dát pozor

  • Jazyk

Dynamo je možné používat spolu s českou verzí Revitu, avšak je nutné v tom případě zachovat české názvy parametrů. Skript se tak bude mírně lišit oproti anglickým tutoriálům. Pro složitější skripty a hledání řešení na fórech je však znalost angličtiny nezbytná.

  • Verze Dynama

Přestože chod Dynama je již poměrně vyladěn, stále můžete narazit na nestabilitu programu, zejména při práci s velkými modely může docházet k “zamrznutí” a následným pádům. Je tedy vhodné před použitím softwaru vždy nainstalovat jeho nejnovější aktualizaci. Taktéž je třeba počítat s tím, že ve výukových materiálech jsou často použity dřívější verze, takže při tvorbě skriptu z YouTube nebo jiného zdroje je třeba použít invenci.

Tipy pro práci

  • Balíčky (Packages)

Pokud z nabízených Uzlů žádný nenabízí požadovanou funkcionalitu, lze další Uzly stáhnout přímo v prostředí Dynama v rámci tzv. Balíčků. Tyto Uzly (případně celé Balíčky) lze vytvořit vlastní, a to pomocí programovacího jazyku Python  nebo C#.

  • Práce se skupinami

Části skriptu lze spojovat do logických celků pomocí Skupin. Ty je možné následně popsat. To velice pomáhá při práci s komplikovanějšími skripty a při jejich sdílení. Použité Uzly pocházející z doinstalovaného Balíčku je také vhodné oznažit Skupinou s názvem Balíčku.

Skupiny v Dynamu

Skupiny v Dynamu

  • Vázání (Lacing)

Při tvorbě skriptu je třeba tento pojem znát. Pokud kombinujeme jednotlivé Uzly, je třeba zvážit, v jaké vzájemně vazbě jsou – Automatické, Nejkratší, Nejdelší, Vektorový součin.

Lze to ilustrovat na následujícím příkladu, ve kterém se tvoří body od 1 do 10 s krokem 1. Je jasný rozdíl mezi Automatickou vazbou (shodnou v tomto případě pro Min i Max) a Vektorovým součinem.

Dynamo MinMax

Dynamo Min Max

Vektorový součin Dynamo

Vektorový součin Dynamo

  • Manuální provedení skriptu

V Dynamu lze nastavit, jestli se budou skripty provádět automaticky nebo manuálně. Je vhodné si již ze začátku zvyknout na přepnutí této volby na manuální, protože automatická volba provede skript při každé editaci, a to je nejen otravné, ale u komplexnějších skriptů tato operace může trvat několik desítek vteřin (minut). Automatická volba také občas způsobuje pád aplikace.

Zdroje a výukové materiály

http://dynamobim.org/

Hlavní web věnovaný Dynamu. Můžete zde stáhnout nejnovější verzi softwaru, nalézt inspiraci, doplnit si vzdělání nebo najít radu.

http://primer.dynamobim.org/en/

Díky této elektronické učebnici můžete získat názornou formou teoretické základy programování, které se vám můžou hodit nejen pro lepší pochopení kódu Dynama, ale také pro získávání “programátorského myšlení”. Veškeré principy jsou zde ukázány stručně a jasně na praktických příkladech.

https://forum.dynamobim.com/

Jak již bylo zmíněno, Dynamo vzniklo jako komunitní projekt, také proto a tak lze většinu odpovědí na vyskytlé problémy nalézt na fóru.

https://academy.autodesk.com/curriculum/bim-computational-design

https://academy.autodesk.com/curriculum/bim-advanced-computational-design

Tyto dva komplexní kurzy jsou k dispozici zdarma přímo od Autodesku. Krok po kroku můžete vyzkoušet vytvořit vlastní skript.

https://www.youtube.com/results?search_query=dynamo+tutorial

Spousty návodů zdarma najdete samozřejmě i na YouTube. Dejte opět pozor verzi Dynama, ve které jsou návody vytvořeny.

Závěr

Tento článek má sloužit pouze jako prvotní seznámení s Dynamem. Postupně zde budou přibývat články další, tentokrát již praktické ukázky tvorby konkrétních skriptů.

print

Odpovědět