V dnešním příspěvku bych rád ukázal zajímavou možnost spolupráce otevřených internetových map (OpenStreetMap) v prostředí projektu Revitu. A jak jinak – opět pomocí kouzelného proutku, zvaného Dynamo.
I dnes k výkladu použiji osvědčenou receptovou strukturu, takže si pište následující ingredience:
- OpenStreetMap – šikovná aplikace s mapovými podklady (popis zde)
- Revit s nainstalovaným doplňkem Dynamo
- v prostředí Dynama nainstalovaný balíček ELK s nástroji OSM a Topography
- v prostředí Dynama nainstalovaný balíček Clockwork for Dynamo 0.9.x
- DYN soubor s kódem (ten vznikne po splnění všech kroků popisujících kód)
A jdeme na to….
1. Zdroj mapových podkladů OpenStreetMap.
Pomocí této otevřené aplikace se dostaneme k mapovým datům, které lze za podpory Dynama později využít i v prostředí projektu Revitu.
Pro snadnější získání prvních zkušeností s aplikací map můžete použít ukázku mapy.
Po nalezení požadovaného výseku mapy použijeme tlačítka Export.
Soubor „map.osm“ (OpenStreetMap) si pro přehlednost po uložení třeba přejmenujte. Např. podle území, které zastupuje. Jeho umístění není kritické, předpokládám, že si ho ponecháte někde poblíž souborů projektu. Tímto máme připravena mapová data pro následné použití.
2. Revit s nainstalovaným doplňkem Dynamo
Abychom mohli vůbec pracovat s doplňkem Dynamo, musíme ho mít nainstalovaný. Pokud ho ještě nemáte k dispozici, návod na instalaci a použití proběhl v některém z minulých příspěvků…
3. Instalace balíčku ELK pro topografii…
Podle obrázků dále vyhledejte, stáhněte a nainstalujte příslušný balíček s podmnožinou funkcí OSM a Topography.
Do vyhledávacího pole napište text ELK. Po nalezení balíčku si vyberte poslední verzi a spusťte instalaci.
Poznámka:
Pro dnešní ukázku budeme potřebovat jen podmnožinu nástrojů OSM (OSM.Location, OSM.Features, OSM.OSMData). Topography můžete použít na vlastní experimentování s terénem později.
4. Instalace balíčku Clockwork
Balíček Clockwork si načtěte obdobným způsobem, jako v předchozím bodě.
5. Sestavení kódu
Celý hotový kód bude obsahovat funkce a to od dekódování mapového souboru *.osm až po vykreslení území z detailových čar v projektu.
Schéma celého kódu:
Vstupní část kódu:
Tato část zajišťuje načtení a dekódování vstupního souboru *.osm. Bližší popisy jsou vždy v záhlaví barevné skupiny s nástroji.
Nástroj OSM.Features je zde uvedený jen proto, abychom se dozvěděli, které z dostupných klíčů polí souboru *.osm můžeme pro hledání vůbec použít.
Koncová část kódu:
Tato část zajišťuje převod bodů nalezených polygonů do podoby detailových čar.
Poznámka:
Jak je z obrázku vidět, kód má vlastně pro tři zvolené hledané klíče i tři stejné větve. Podle počtu hledaných klíčů si tedy kód můžete patřičným způsobem upravit a rozšířit nebo zredukovat. Pokud by se vynechala poslední skupina (oranžový podklad), vykreslení obrysů by sice bylo vidět jak na obrazovce Dynama, tak i v projektu Revitu, ale po ukončení a zavření kódu by čáry z projektu zmizely.
Pokud se v kódu vyskytnou nějaká chybová hlášení (žluté ikony), můžete je ignorovat. Většinou se jedná a varování o prázdném seznamu a podobně.
Po spuštění kódu se tedy vykreslí čáry jednak v prostředí obrazovky Dynama a jednak ve zvoleném pohledu (01 1NP) zase čáry detailové.
Poznámka:
Zpracování dat může trvat i několik minut, záleží na rozsahu území a kondici počítače. Proto buďte trpěliví a vyčkejte až do ukončení výpočtu a počítač zbytečně neresetujte. Možná mám jedno doporučení – pro prvotní poznávání a ladění si vyberte jen malou část mapy.
Pokud kód po uložení do DYN souboru zavřete, zbudou ve vybraném pohledu projektu pouze detailové čáry. Jejich převod na modelové (viditelné ve všech pohledech) provedeme jejich výběrem a pomocí nástroje Převést čáry převod dokončíme.
Výběr detailových čar:
3D pohled vybraného území:
Dovětek:
Pokud vás poslední obrázek inspiroval ke tvorbě nějakého dalšího kódu, jenž by uměl například vzít modelové čáry a převést je na 3D tělesa coby prostorový náznak budov (např. urbanistické projekty se stávající zástavbou), pak jste na dobré cestě zjednodušit si práci. A já se budu snažit vás v tomto, svou troškou do mlýna, podporovat. 🙂
Takže, pokud se vám nedaří kód za domácí úkol sestavit samostatně, tak tady je něco na přilepšenou:
Perfektný návod, len neviem ako uložiť náhľad z Dynama do Revitu. Situáciu v Dyname vykreslí, rovnako aj v Revite, ale neviem to už nejako uložiť. Vopred ďakuje Za radu.
Dobrý den,
o vykreslení detailových čar se stará poslední „oranžová“ sekce kódu.
Jen připomenu:
v uzlu Views je třeba si vybrat konkrétní pohled, do kterého se detailové čáry zakreslí.
Později si můžete detailové čáry převést na modelové, viditelné ve všech pohledech.
obr.1-konec kódu
obr.2-oba objekty (z Dynama + Detailové čáry)
Obr.3-po uzavření Dynama
Čáry v obrázku č.3 ve 3D pohledu zmizí, protože ještě nejsou převedené na modelové.
Ďakujem.