W dzisiejszym świecie inżynierii i architektury kluczową rolę odgrywa efektywna wymiana danych, umożliwiana między innymi przez standard Industry Foundation Classes (IFC).
Praca z IFC 4.3 oraz jego implementacja w oprogramowaniu Trimble Quadri pozwoliła mi zidentyfikować kluczowe elementy, które powinien zawierać dobrze wyeksportowany plik IFC.
W niniejszym artykule postaram się opisać te elementy oraz koncepcje, które są istotne dla pełnej i niezawodnej wymiany danych między różnymi programami i projektantami. Omówię zarówno techniczne aspekty struktury pliku IFC, jak i koncepcje związane z interoperacyjnością, czytelnością i spójnością danych, przytaczając przykłady praktyczne dla lepszego zrozumienia.
Mam nadzieję, że ten artykuł będzie inspirujący i przydatny dla osób zainteresowanych tematyką IFC oraz wymianą danych projektowych.
Artykuł ten jest podzielony na dwie częśći.
Zapraszam do pierwszej części artykułu.
Jeśli interesuje Cię temat IFC 4.3, nie zapomnij sprawdzić innych artykułów poświęconych temu tematowi na naszym blogu.
- Infrastruktura drogowa w schemacie IFC 4.3
- IFC 4.3 w projekcie drogowym (CASE STUDY)
- Relacje w infrastrukturalnym modelu IFC 4.3
- Przestrzenny podział projektu infrastrukturalnego w IFC
- IFC 4.3 na budowie
- Webinar o IFC 4.3
- Ticket to openBIM
- Export IFC 4.3
- 7 najważniejszych zmian w IFC kształtujących openBIM dla infrastruktury
- Przesyłanie Danych z Civil 3D do Quadri i Eksport do IFC 4.3
- Pięć skutecznych narzędzi do zapewnienia jakości danych w modelach BIM
- Właściwości w IFC
Nagłówek
Nagłówek pliku IFC pełni kluczową rolę w określeniu podstawowych cech dokumentu. Zawiera on szereg istotnych informacji, które pozwalają na szybkie zorientowanie się w jego zawartości. Możemy z niego odczytać nazwę pliku, datę jego utworzenia, autora oraz przynależność do określonej organizacji. Dodatkowo, nagłówek ujawnia informacje na temat użytego oprogramowania oraz generatora pliku.
Jednym z najistotniejszych elementów, które można wyczytać z nagłówka, jest cel, w jakim plik został wygenerowany. Określa to tzw. Model View Definition (MVD) oraz format IFC, który został zastosowany. Warto zaznaczyć, że znajomość tych szczegółów jest niezbędna dla właściwego zrozumienia zawartości pliku i jego zastosowania w kontekście konkretnego projektu.
W praktyce, czasami możemy napotkać problemy z otwarciem pliku, zwłaszcza jeśli aplikacja nie obsługuje konkretnego formatu IFC, na przykład IFC 4x3_ADD2. W takich sytuacjach można sięgnąć po pewien trik, który czasami przynosi pożądane rezultaty. Polega to na zmianie formatu w nagłówku, np z IFC z 4x3_ADD2 na standardowy 4×3. Chociaż ta metoda nie zawsze działa, czasami może być pomocna, szczególnie gdy w pliku znajdują się podstawowe obiekty i parametry. Warto jednak pamiętać, że jest to rozwiązanie czasowe i nie gwarantuje pełnej kompatybilności z każdą aplikacją.
Struktura Przestrzennego Podziału
Plik IFC, aby być dobrze zdefiniowanym, musi zawierać strukturę podziału przestrzennego. Ta struktura odnosi się do rozdzielenia projektu na mniejsze obszary zgodnie z układem przestrzennym, co ułatwia zarządzanie danymi i analizę. Choć istnieją inne metody dekompozycji projektów, to właśnie struktura przestrzenna dominuje w większości branż i zadań projektowych. Czyni ją to głównym schematem dla projektów budowlanych oraz niezbędnym elementem do efektywnej wymiany danych.
W strukturze pliku IFC kluczowym elementem jest obiekt ifcProject, który definiuje kontekst całego projektu. Zawiera on informacje o jednostkach używanych w projekcie oraz może zawierać dane o systemie koordynacyjnym. Kolejnym niezbędnym elementem jest ifcSite, który dostarcza dodatkowych informacji na temat obszaru budowy. Następne poziomy struktury reprezentowane są przez konkretne dziedziny, takie jak ifcBuilding, ifcRoad, ifcRailway lub ifcMarineFacility, które określają specyfikę poszczególnych budowli lub obiektów.
Dobrze zdefiniowana struktura pliku IFC jest kluczowa dla właściwej interpretacji danych oraz może przynieść wiele korzyści w procesie analizy plików IFC. Dlatego warto zadbać o to, aby struktura przestrzenna była klarowna i zgodna z wymaganiami projektu.
Więcej na temat znaczenia i implementacji struktury przestrzennej można przeczytać w artykule dostępnym [tutaj].
Obiekty
W kontekście pliku IFC istotne jest dokładne przyporządkowanie klas opisujących zarówno istniejące, jak i projektowane elementy fizyczne. W przeciwieństwie do prostych obiektów proxy, precyzyjne mapowanie do odpowiednich klas przynosi większą wartość dodaną.
Klasy IFC zostały stworzone w celu ułatwienia interpretacji modelu, co zapewnia uniwersalność, elastyczność i łatwość w pracy z danymi.
Choć wymaga to pewnej ilości czasu, dobrze przemyślane mapowanie między oprogramowaniem a plikiem IFC znacznie poprawia jakość eksportowanych danych.
Staranne dopasowanie klas do elementów modelu może istotnie przyczynić się do efektywnej interpretacji danych przez różne strony zaangażowane w proces projektowy, a także ułatwić ich dalsze wykorzystanie.
Atrybuty
Klasy powinny być starannie opisane poprzez przypisanie im odpowiednich atrybutów. Chociaż rodzaj i liczba atrybutów mogą się różnić między klasami, to uważam, że każdy obiekt z grupy IfcProduct powinien być wyposażony co najmniej w następujące atrybuty: Name, Description, PredefinedType oraz ObjectType, co znacząco ułatwi ich dokładniejszą identyfikację.
Niezwykle istotne jest również uwzględnienie pewnych mechanizmów, na przykład w przypadku, gdy wartość atrybutu PredefinedType przyjmuje wartość USERDEFINED, wtedy wartość ObjectType powinna zostać wykorzystana.
Aby zachować spójność, kluczowe jest wcześniejsze określenie wartości atrybutu ObjectType. Jest to szczególnie istotne z uwagi na to, że ten atrybut pozwala na używanie wartości typu String, co może prowadzić do potencjalnych problemów. Dlatego niezmiernie ważne jest, aby już na wstępnym etapie projektu odpowiednio zdefiniować ObjectType.
Warto również pamiętać o dodatkowych atrybutach, takich jak Tag i UsageType. Te dwa atrybuty są szczególnie istotne przy opisywaniu obiektów przestrzennych lub innych należących do grupy IfcElement. Ich uwzględnienie pozwoli na jeszcze dokładniejsze opisanie i identyfikację obiektów w modelu.
Reprezentacja geometryczna
Wchodząc w obszar klas IFC, otwiera się przed nami bogactwo reprezentacji geometrycznych, które stanowią istotny element tego świata. Mówimy tu o punktach, krzywych, powierzchniach i bryłach stałych.
Warto zauważyć, że każdy z tych typów może być opisany na różne sposoby. Przykładowo, bryły stałe mogą być reprezentowane za pomocą różnych technik, takich jak “swept solid”, “solid model”, “advancedBrep” czy “CSG”. Jednak należy mieć na uwadze, że nie wszystkie programy obsługują wszystkie rodzaje geometrii.
W kontekście reprezentacji brył stałych, często wybieraną i bezpieczną opcją jest typ Brep. Skrót ten oznacza “Boundary Representation” i polega na opisie kształtu trójwymiarowego poprzez precyzyjne określenie granic jego objętości. Tutaj bryła stała jest złożona z połączonych elementów powierzchni, które wyznaczają granicę między punktami wewnętrznymi a zewnętrznymi.
Tak więc warto na począku projektu przeanalizować jakie geometrie są wspierane przez program, który będziemy używać do kreowania modelów oraz czy program, w którym będziemy analizowali nasz obiekt, potrafi interpretować tą geometrię.
Przykładem geometrii, która może okazać się problematyczna dla przeglądarek plików IFC jest “SectionedSolidHorizontal”
Podsumowanie części pierwszej
W pierwszej części artykułu dokładnie omówiłem kluczowe aspekty, które należy uwzględnić w pliku IFC. Skupiłem się na znaczeniu nagłówka, struktury przestrzennej, obiektów, atrybutów oraz sposobie reprezentacji geometrycznej.
Te elementy stanowią niezbędny fundament dla efektywnej wymiany danych pomiędzy różnymi programami oraz między projektantami.
W kolejnej części kontynuować będę ten temat. Zapraszam do dalszej lektury, gdzie przedstawię kolejne aspekty, które powinien obejmować plik IFC.