pátek 7. července 2017

DYNAMO TIP #4: jak načíst parametry instance a typu

V dnešním tipu bychom si ukázali, jak si načíst elementy Revitu do Dynama, ale především, jak z nich získat jejich parametry. Není žádnou novinkou, že Revit u jednotlivých elementů rozlišuje parametry instance a typu - a právě získání těchto parametrů může být pro začínající uživatele Dynama mírně matoucí. Pojďme si nyní ukázat, jakým způsobem si načíst jeden element do Dynama tak, abychom primárně získali jeho parametry instance. K tomu nám poslouží jednoduchá rodina okna, kterou si zasadíme do projektu a následně si spustíme programovací nástroj Dynamo. Jelikož je našim úkolem získat parametry instance daného prvku, je nutné si do pracovní plochy grafu vložit následující uzly:

1) Categories: Tento uzel umožňuje vybrat danou kategorii, kterou chceme načíst do prostředí Dynama.
2) All Elements of Category: Tento uzel načte všechny elementy zvolené kategorie.
3) Element.Parameters: Načte všechny parametry prvku

Uzly vkládáme do grafu přes vyhledávací konzoli po stisknutí pravého tlačítka myši, anebo přes vyhledávací konzoli v knihovně Dynama.

Výsledný algoritmus by měl mít tuto podobu:

 

Tímto způsobem jsme získali parametry daného prvku, tedy parametry instance. Uzel Categories se v této situaci zdá být velice výhodný, ale berte ohled na to, že v projektu máme zasazené pouze jedno okno. Pokud bychom pracovali s celým modelem budovy, načetla by se nám opět celá kategorie oken. Následně bychom si museli dát práci s tím, abychom si vyfiltrovali ta okna, se kterými v Dynamu nechceme pracovat, např. přes List.FilterByBoolMask.

Pokud si chceme načíst do Dynama pouze konkrétní prvky a nechceme složitě nastavovat vyfiltrování nežádoucích elementů, můžeme použít následující uzly:

1) Select Model Elements: Tento uzel umožňuje ručně vybrat vícero prvků z projektu Revitu
2) Element.Parameters: Načte všechny parametry prvku

Výsledný algoritmus by měl mít tuto podobu:


U uzlu Select Model Elements je pro změnu nutné vybrat manuálně daný objekt, se kterým chceme pracovat v Dynamu. Výsledný efekt je stejný jako v případě Categories, pouze s tím rozdílem, že jednotlivé parametry mají jiné pořadí indexů.

Nyní již víme, jak získat parametry instance z načtených elementů, ale jak získat parametry typu?

Postup je de facto stejný, jen se musí použít jiný uzel pro načtení daného elementu. Do grafu si zaneseme následující uzly:

1) Family Type: Tento uzel načte všechny typy rodin, jež jsou k dispozici v projektu Revitu
2) Element.Parameters: Načte všechny parametry prvku

Výsledný algoritmus by měl mít tuto podobu:


Z načtených parametrů lze jednoduše získat jejich hodnoty, které se dále mohou zpracovávat v rámci algoritmu. Postup, jak získat hodnoty z daných parametrů, bychom si ukázali až v nadcházejícím tipu #5.

Žádné komentáře:

Okomentovat