IFC praxe I. - Úvod do problematiky
V posledních měsících nás několik našich klientů oslovilo s požadavkem o posouzení vhodnosti existujícího BIM modelu pro potřeby správy budovy nebo s žádostí o definici pravidel, vedoucích k maximální využitelnosti obsažených informací (grafických a zejména negrafických), pro modely připravované.
Tato zadání nás přiměla tyto činnosti jistým způsobem systematizovat a obohatila nás řadou zkušeností, o něž se s vámi hodláme v následující minisérii podělit.
K čemu to vše potřebujeme
Metodika objektového modelování (BIM) se postupně stává nedílnou součástí stavebních projektů.
Účastníci výstavby dostávají k dispozici 3D model budovy (stavby) v podobě datového souboru ve formátu IFC.
Tento model je v současnosti využíván především pro účely vizualizace pomocí IFC prohlížečky nebo pro identifikaci prostorových kolizí technologických rozvodů ve fázi přípravy a realizace stavby.
Efektivní datový soubor modelu budovy by však měl obsahovat i řadu negrafických informací o jeho složkách a prvcích v něm obsažených.
Posouzení rozsahu a kvality těchto dat je prvním úkolem, který nám připadl k řešení. Dalším úkolem pak bude možnost následně využít tato data pro účely provozu a správy budovy.
Co to pro nás znamená?
Podmínkou pro plnění těchto úkolů je opakovaná schopnost přečíst, analyzovat a vyhodnocovat obsah předložených modelů.
Model je zpravidla dodán ve formě IFC-SPF datového souboru. Jedná se o nejrozšířenější formát IFC, jehož výhodou je kompaktní forma a zároveň čitelný text. Skládá se ze sekce záhlaví (HEADER) obsahujících popisné údaje projektu a použité schema a ze sekce uživatelských dat (DATA).
Znalost použitého schematu je důležitá pro identifikaci atributů jednotlivých datových entit, neboť atributy jsou v instancích uvedeny pouze svou hodnotou.
Datové entity jsou zapsány sekci DATA ve formě instancí, obvykle s jednou instancí na řádek. Instance je základní jednotka záznamu. Je tvořena referenčním číslem, názvem entity a hodnotami atributů v definovaném pořadí v závorkách, např. "#16=PRODUCT(...)". Atributy mohou mít různou formu (čísla, texty, konstanty, seznamy..).
Z výše uvedeného je zřejmé, že import obsahu IFC souboru není triviální záležitost.
Jak do toho?
Pro potřeby analýzy negrafických informací modelu je tedy nutno sestavit importní proceduru (parser), která dokáže IFC soubor převést do SQL databáze. Ta by pak měla být natolik výkonná, aby výsledky jednotlivých databázových dotazů byla schopná poskytnout s dostatečně rychlou odezvou.
Z věcného hlediska IFC soubor obsahuje tři typy entit:
- produktové entity (IfcElement) pro výskyty a typy hmatatelných objektů
- relační entity (IfcRelationship) pro zachycení vztahů mezi objekty
- entity vlastností (IfcPropertyDefinition) pro popis dynamicky rozšiřitelných vlastností o objektech
Každý z těchto typů vyžaduje specifické uložení v databázi, proto i import probíhá ve třech krocích:
Prvním krokem je identifikace a zápis všech produktových entit; tímzískáme úplný seznam všech výrobků a konstrukčních prvků obsažených v modelu. V tomto kroku zároveň probíhá identifikace hodnot atributů a jejich pojmenování na základě znalosti konkrétního schematu.
Takto získaná (v pricipu jednoduchá statická tabulka) je základem pro prvotní analýzu modelu. Umožňuje agregovat jednotlivé elementy podle názvů jejich tříd a tím usuzovat na komplexnost a kvalitu předloženého modelu.
Druhým krokem je určení vztahů mezi jednotlivými elementy, především výskyt produktových elementů v hierarchii prostorové struktury projektu (místo, budova, podlaží, prostor). Kvalita a úpnost definice těchto vztahů je rozhodující pro provoz a správu budoucího díla, neboť realizovaná budova je uživatelem vnímána především jako stromová struktura podlaží a místností. Zařazení produktových entit do prostorové struktury umožní realizovat nejrůznější dotazy na umístění komponent v pojmenovaných prostorách.
Třetím krokem je získání sad vlastností k jednotlivým elementům modelu. Ve schématu IFC existuje několik typů sad vlastností, z nichž každá má specifický účel. jsou to zejména:
- Nativní vlastnosti, specifické pro každou třídu IFC.
- Vlastnosti typu, popisující vlastnosti všech prvků stejného typu (např. všechny stěny určitého typu).
- Vlastnosti materiálu, popisující všechny materiály, které tvoří vrstvy tohoto prvku.
- Množstevní sady, popisující rozměry prvků, ke kterým se vztahují
- Uživatelsky definované vlastnosti, popisující dodatečnou sadu vlastností podle potřeb uživatele a znalostí poskytovatele
Sady vlastností jsou uloženy v samostatných databázových tabulkách, neboť se často vyskytují jako odkazy k více elementům modelu a mají z hlediska SQL odlišnou strukturu.
Tolik tedy pro dnešek východiska problematiky analýzy struktury a obsahu negrafických informací obsažených v IFC modelech. Příště se zaměříme na jeden ze základních "strojů" využívaných pro analýzy BIM modelů - IFC parser.
Rejstřík pojmů
- BIM (Building Information Modelling) je metoda, jejímž prostřednictvím architekti a inženýři vytvářejí modely svých projektů. Tyto modely obsahují jak geometrii, tak informace potřebné k realizaci projektu a měly by být centrem všech informací v celém projektu tzv. "od kolébky až po hrob".
- STEP (STandard for the Exchange of Product model data) - je to soubor norem ISO (ISO 10303), které popisují, jak reprezentovat a vyměňovat digitální produktová data v leteckém, automobilovém a stavebním průmyslu.
Tento standard se skládá z modelovacího jazyka (EXPRESS) pro popis struktury a specifikace pro ukládání datového modelu do souborů.
https://en.wikipedia.org/wiki/ISO_10303-21 - EXPRESS (expression language) - jazyk pro popis datových modelů formou schematu. Schema se skládá z definic popisovaných objektů (tříd) a jejich složek, odkazů a pravidel. Schema je zapsáno v textové formě do datového souboru, takže jej lze číst, ale i strojově interpretovat.
https://en.wikipedia.org/wiki/EXPRESS_(data_modeling_language - IFC (Industry Foundation Classes) je konkrétní EXPRESS schéma specificky určené pro popis dat architektury, inženýrství a stavebnictví (AEC průmysl).
https://en.wikipedia.org/wiki/Industry_Foundation_Classes - SPF (STEP Physical File) - je základní a zároveň nejpoužívanější specifikace ukládání dat standardu STEP do tvaru textového souboru. Data jsou zapisována ve formě instancí, zpravidla jedna instance na řádek. Díky své struktuře ASCII je soubor STEP snadno čitelný textovým editorem.
Nevýhodou je složité kódování národních znaků pomocí hexadecimálních sekvencí. - IFC-SPF je implementace SPF pro potřeby IFC. Jedná se o nejrozšířenější formát IFC, jehož výhodou je kompaktní forma a zároveň čitelný text. Skládá se ze sekce záhlaví (HEADER) obsahujících popisné údaje a použité schema a ze sekce dat (DATA) obsahující aplikační data podle konkrétního EXPRESS schematu. Soubor má příponu souboru .ifc
- Instance - základní jednotka záznamu v souboru STEP. Je tvořena číslem instance (referenčním číslem), názvem entity a hodnotami atributů v definovaném pořadí v závorkách, např. "#16=PRODUCT(...)".
IFC soubor má tři základní typy instancí:
- IfcObject pro výskyty a typy hmatatelných objektů,
- IfcRelationship pro vztahy mezi objekty
- IfcProperty pro vlastnosti objektů.