Autodesk Revit – Rozpohybujte rodiny Revitu

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.

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.

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ů):

Vojsko v pozoru :-)

První použití generátoru:

Mírné zděšení na poli ...

Po dalších krocích vznikl v řadách vojska chaos a organizační neklid:

Chaos a neklid před rozpuštěním

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.