Dnešní příspěvek se bude opět věnovat Dynamu, avšak z pohledu minulého tématu to bude směr přesně opačný. Budeme se totiž snažit dostat seznam všech výkresů, včetně dalších parametrů, z projektu Revitu do excelovského souboru. Vhodné pro ty uživatele, kteří jsou tak zvyklí anebo z nějakých jiných důvodů zpracovávají tyto seznamy v prostředí aplikace Excel.
Co budeme k tomuto receptu potřebovat?
- otevřený projekt v Revitu obsahující pohledy výkresů s razítky
- nainstalovaný doplněk Dynamo
- volitelně soubor v Excelu s úvodním 1. řádkem s popisem budoucích sloupců (záleží na definici od které buňky se mají data zapisovat)
Náhled na celý kód (čitelnější obrázky viz.další text):
Podívejme se nyní na první část kódu.
Jedním z rychlých způsobů zápisu parametrů může být panel Code Block, kde se tak trochu programátorsky zapíšou určité výkonné části kódu. Zde je to např. seznam třech parametrů, které se budou vytahovat z vlastností definice výkresu (razítka). Panel Categories zase zajistí, že zkoumané objekty budou kategorie Sheets (listy výkresu). Následuje automatický výběr všech výkresů (panel All Elements of Category) a kontrolní zjištění celkového počtu těchto záznamů (panel Code Block nebo alternativně Count).
Střední část kódu.
V další části se zjištěná data rozseparují do samostatných seznamů budoucích sloupců. Panely Watch se zaplní až po spuštění kódu. Panel Code Block-pořadové číslo má za úkol vytvoření seznamu od 1 do počtu výkresů.
Koncová část kódu.
Výsledné seznamy se převedou na vhodný tvar sloupců (panely List.Create a List.Transppose). Vše se nakonec zapíše pomocí panelu Excel.WriteToFile do excelovského souboru zadaného jména, cesty a názvu listu od pozice A2 (první sloupec, druhý řádek). Umístění startovací buňky lze ovlivnit parametry startRow a startCol.
Takto vypadá část projektu s pohledy výkresů v Revitu:
Předpřipravený vzhled budoucí tabulky na určeném listu Excelu. Pokud soubor neexistuje, bude automaticky vytvořený a zápis začne od navolené buňky (pozor – při shodě jmen si můžete přepsat svůj soubor s jiným obsahem!).
A výsledek po spuštění kódu – soubor se naplní údaji z projektu. Tímto způsobem můžete dostat všechny informace dostupné v razítku jako parametry rodiny. Při změně výkresů v projektu lze opakovaným spuštěním kódu datové pole v Excelu aktualizovat.