Tento příspěvek je variantou minulých Dynamo příspěvků zabývajících se otáčením objektů kolem vlastní osy. Jak šel čas a nároky uživatelů stoupaly, přišel také čas na další vylepšení. Ta spočívají v tom, že se vybrané objekty (stromy, obecné modely) otáčejí, mění výšku a odsazují od původního umístění – to vše v náhodných hodnotách.
Obsah článku
Náhodné umístění rodin
Pro sestavení kódu všemi uzly bude zapotřebí několika různých balíčků. Pro větší názornost jsem jejich názvy uvedl v záhlaví uzlů v závorce (Landform, LunchBox). Uzly bez výrazného označení pocházejí z knihoven Revitu.
Na obrázku níže je vidět celý kód.
Podrobnější náhled Dynamo kódu
Uzly pro výběr rodin a získání jejich geometrie
Jednoduchý uzel pro násobný výběr modelových prvků v projektu. Zde v příkladu předpokládáme výběr rodin stromů s upraveným parametrem Výška a rodin kvádru, rovněž s parametrem Výška. Druhý uzel se stará o vytvoření seznamu s geometrií vybraných prvků.
Přesun rodin do nového náhodného umístění
Po zjištění souřadnic bodu vložení rodiny dojde generátorem náhodných čísel k úpravě složek X a Y v rozmezí -500 až 600 mm. Složka Z je zachovaná, beze změn.
Takto upravený bod se potom porovná s původním bodem vložení a vzniklý rozdílový vektor je použit pro přesun rodiny do nové pozice. Operace s úpravami byla nutná z důvodu uzlu Element.MoveByVector, který na svém vstupu vyžaduje vektor posunu vzniklý z původní a nové polohy.
Náhodná výška rodiny
Tato část kódu se stará o změnu náhodné hodnoty instančního parametru „Výška“, který musí rodina obsahovat. Hodnota je v rozmení MIN=10m, MAX=posuvníkem až 20m.
Upravená rodina RPC stromu s instančním parametrem Výška.
Náhodná rotace rodiny
Zde oproti předchozím ukázkám vystačíme s jediným uzlem, který vše potřebné provede uvnitř uzlu.
Mimochodem, toto je ukázka ideálního uzlu, protože vše zařídí sám. Oproti předchozí sestavě pro změnu výšky nebo posunu, kde bylo nutno vlastními silami zajistit předpřípravu parametrů pro závěrečné zpracování.
Ukázka funkčnosti
Několikeré spuštění kódu po sobě a změny geometrie vybraných rodin. Výchozí postavení rodin (jako jeden šik vojáků):
První použití generátoru:
Po dalších krocích vznikl v řadách vojska chaos a organizační neklid:
A ještě si neodpustím prostorový zážitek.
A pokud toužíte po vyzkoušení kódu bez jeho ručního sestavení, tady je ke stažení i s projektem ve verzi 2018. Připomínám jen, že je třeba ještě přes nástroje Dynama stáhnout balíčky Landform a LunchBox.