Ifc title picture

Sekrety formatu IFC część 3

Wstęp

Na wstępie krótkie przypomnienie. W poprzednim artykule z serii – Sekrety Formatu IFC – przedstawiłem klasy w schemacie IFC. Mogłeś się dowiedzieć, że klasa jest szablonem atrybutów. Dzięki temu, niezależnie od tego z jakiego programu został wyeksportowany plik IFC jego atrybuty będą zawsze zapisane w tym samym formacie. Ponadto dowiedziałeś się czym są powiązania (Relationships) oraz w jaki sposób atrybuty są dziedziczone wewnątrz drzewa genealogicznego schematu IFC.
Atrybuty obiektów (Nazwa, Typ, Wysokość itp.) są zdefiniowane przez schemat “na sztywno” w formie szablonu ( poprzedni wpis – grafika). Ma to swoje plusy i minusy oczywiście. Jest to bardzo wygodne, gdy eksportuj? do pliku IFC obiekty i ich atrybuty są wypełniane automatycznie. Świetnie. Co jednak w sytuacji, gdy w szablonie danej klasy nie ma atrybutu, który chcielibyśmy, aby był przypisany do danego obiektu? Liczba i rodzaj informacji jakie przypisujemy obiektom może się różnić w zależności od tego na jakim etapie jest projekt, może się różnić w zależności od kraju , branży itp. Ponieważ wciąż ciężko jest ustandaryzować wszystkie te informacje, liczba atrybutów przypisanych klasom w schemacie IFC jest sprowadzona do niezbędnego minimum. Co nie oznacza wcale, że nic nie mozna z tym zrobic. Schemat IFC wychodzi naprzeciw tym wymaganiom poprzez Właściwości (Properties), które możemy niemal dowolnie przypisywać do obiektów. W tym wpisie, skupię się na tym właśnie temacie.

1 Atrybuty vs Właściwości

  • Atrybuty (ich ilość oraz typ wartości są częścią szablonu obiektów IFC – grafika z poprzedniego postu). Są integralną częścią schematu. Nie można ich usunąć ani zmodyfikować. Usunięcie atrybutu ze schematu najzwyczajniej zniszczy jego strukturę i nie będzie możliwe otworzenie pliku IFC
  • Właściwości (Property) w przeciwieństwie do atrybutów dają nam swobodę tworzenia. To my decydujemy, ile i jakiego typu właściwości chcemy stworzyć i przypisać do obiektu. Nie są wpisane w schemat, a więc ich modyfikacja, usunięcie nie niszczy struktury schematu.
Wiele programów posiada wbudowane konfiguratory umożliwiające dodawanie właściwości do obiektów. Możemy dzięki temu w łatwy sposób tworzyć własne zestawy właściwości (property Sets) z informacji dostępnych w danym programie lub tworzyć całkowicie nowe właściwości tzw UDA (user defined attributes). Przykład takiego konfiguratora pokaże pod koniec tego artykułu.

2 Czym są właściwości (Property)?

Spróbujmy prześledzić, jak powstają Właściwości IFC i jak połączyć je z obiektem (klasa) tak aby po wyeksportowaniu IFC były widoczne w dowolnej przeglądarce plików IFC.

2.1 Tworzenie Właściwości

Stwórzmy zatem od podstaw nową właściwość dla klasy ściana ( IfcWall). Niech to będzie dla przykladu tynk o grubości 20 mm. Aby dodatkowe właściwości były zrozumiałe dla oprogramowania odczytującego plik IFC, należy użyć…. Standardowych szablonów schematu. Troche zagmatwane? A moze calkiem sensowne.  Jak juz wczesniej pisalem, Schemat IFC jest jak drzewo genealogiczne z wieloma gałęziami, wzajemnymi zależnościami. Posiada również osobny szablon IfcProperty. IfcProperty jest o tyle szczególne , że jest osobnym drzewem genealogicznym w ekosystemie IFC. W poprzednim artykule mozesz przeczytac, ze nadrzędnym dla wszystkich szablonem jest prapraprapra przodek całego drzewa genealogicznego IFC – IfcRoot. Otoz szablon właściwości Ifc Property jest niezależny od Ifc Root. Sam zobacz:
Ifc Property, Ifc schema
IfcProperty (źródło: https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/)
Szablon ten posiada dwa atrybuty Name (a więc nazwa dla naszej nowo przypisanej właściwości ) oraz opis właściwości (description). Ifc Property posiada dwoje potomków ( grafika Ifc property rozdziela się na IfcSimpleProperty oraz IfcComplexProperty).
IFCProperty drzewo wlasciwosci
Drzewo własciwosci obiektu Ifc
Nasz przykład jest wyjątkowo prosty więc skupmy się na szablonie Ifc Simple property. Nie posiada żadnych nowych atrybutów, lecz posiada 6 odgałęzień (potomków).
  • Single:prosta wartość. Tekst, liczba, true / false
  • Enumerated: ogranicza wybór jednej wartości ze wstępnie zdefiniowanej listy możliwych wartości.
  • Bounded: Umożliwia określenie minimalnej i maksymalnej wartości w jednej właściwości. Na przykład. tolerancja.
  • Table: Cała tabela wartości. Na przykład tabela rozmiarów dla zaworu.
  • Reference: Link do innego obiektu.
  • List: wiele wartości w liście
W naszym przykładzie wykorzystamy IfcPropertySingleValue
Szablon ten posiada dwa atrybuty:
  • Wartość nominalna
  • Jednostka
To jest wlasnie szablon, właściwości, który dodamy do naszego obiektu ściana.
Atrybuty IfcProperty
Tabela atrybutów IfcPropertySingleValue

2.2 Dodawanie właściwości do obiektu

Mamy gotowy szablon właściwości z atrybutami…i co dalej. Należy połączyć ten szablon z obiektem. Musimy wpleść ten szablon do głównego drzewa genealogicznego schematu IFC. Z pomocą przychodzi nam szablon – IfcPropertyset , szablon zestawu właściwości.
IfcPropertySet
IfcPropertySet(źródło: https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/)
IfcPropertyset jest już jak widzisz spokrewniony z najważniejszym szablonem IfcRoot. Posiada więc atrybuty odziedziczone po Ifcroot – Nazwa oraz nr GUID. ale najistotniejszym w tym przypadku jest atrybut  – “HasProperties”. To jest miejsce, w którym nasze stworzone niezależnie właściwości , łączą się z głównym drzewem schematu.
IfcProertySet Atrybuty
IfcPropertySet - tabela atrybutów

2.3 Powiązanie zestawu właściwości z obiektem

Ostatnim krokiem (obiecuje) jest przypisanie zestawu właściwości do naszej ściany. Oczywiście,w tym przypadku wszystko jest zaplanowane i jest to możliwe dzięki relacjom ( IfcRelationships – patrz poprzedni artykuł z serii) . Dzięki IfcRelDefines możliwe jest połączenie zestawu właściwości z obiektem, w naszym przykladzie – ze ścianą.
Podsumujmy najpierw wszystkie powyższe informacje:
  1. Schemat Ifc składa się z szablonów oraz atrybutów określających każdy obiekt (klasę)
  2. Atrybutów nie można zmieniać ani usuwać
  3. Istnieje osobne “drzewo” właściwości IfcProperty służące do tworzenia własnych unikalnych wlasciwosci do obiektow ( klas)
  4. Tworzymy właściwości poprzez szablon IfcProperty
  5. Łączymy z głównym drzewem szablonem zestawu właściwości IfcPropertySet
  6. Nawiązujemy Zestaw właściwości z obiektem poprzez wew relacje schematu IfcRelDefines.
I ….gotowe.  Możliwe, że pojawi Ci sie w glowie pytanie…. Po co to wszystko i czy rzeczywiście musi to być takie skomplikowane? Za pomocą tego sposobu chciałem  pokazać jedynie w uproszczeniu mechanizm w jaki Obiekty są wzbogacane o dodatkowe informacje.

3 ....a jak to wygląda w praktyce?

Na przykładzie programu Tekla Structures pokaże Ci, że nie jest to tak skomplikowana sprawa jak mogło się to wydawać powyżej.
W programie Tekla Structures stworzylem User Defined Atribute (UDA) – czyli dodatkową włąsciwość dla obiektu ściana.

Opcja exportu do IFC umożliwia wykorzystanie stworzonych przez nas właściwości.

Stworzony w ten sposób plik IFC otworze następnie w trzech różnych przeglądarkach:

Model ifc, ifcwall property
Właściwości ściany wyświetlone przez BIM Vision
Ifcwall, solibri
Właściwości ściany wyświetlone przez Solibri
Model Ifc, Ifc wall Trimble connect
Właściwości ściany wyświetlone przez Trimble Connect

Jak widzisz, niezależnie od tego w jakiej przeglądarce IFC oglądamy naszą scianę, dodatkowa właściwość Tynk o grubośći 20 mm jest pokazany razem z innymi atrybutami.

 

Podsumowanie

Jeśli wciąż zastanawiasz się po co dodawać dodatkowe informacje do obiektow w modelu IFC przeczytaj artykuł Marcina Pszczółki “Jaki jest najlepszy format pliku w BIM?” , w którym pokazuje, że dzięki przypisywaniu obiektom dodatkowych właściwości nie musi czekać na IFC dla infrastruktury.

Coraz bardziej popularne projekty bezrysunkowe, oparte na modelu, bazują na możliwości przypisania wszystkich tych informacji do obiektu, które w tradycyjnie umieścilibyśmy na rysunku.

Jestem ciekaw, czy Ty również uzywasz własnych zestawów właściwości eksportując plik IFC czy polegasz wyłacznie na podstawowych informacjach generowanych przez program natywny. 

Spodobał Ci się ten artykuł? Podziel się nim !

Dużo czasu i wysiłku poświęcamy na tworzenie wszystkich naszych artykułów i poradników. Byłoby świetnie, gdybyś poświęcił chwilę na udostępnienie tego wpisu!

Udostępnij:

Komentarze:

Subscribe
Powiadom o
guest
2 Comments
najstarszy
najnowszy
Inline Feedbacks
View all comments
Marceli
Marceli
1 rok temu

Cześć,
odkryłem Waszego bloga parę dni temu i nie mogę się odkleić 🙂 Mam jedno pytanie: Czy IFC ma zastosowanie jeśli wszyscy projektanci (architekci, elektrycy itd.) używają tej samej platformy do projektowania?

Konrad Fugas
Admin
1 rok temu
Reply to  Marceli

Cześć!

Miło nam! Zapraszam do czytania, jest tego sporo 🙂

To zależy, czy modele mają być używane tylko do projektowania, czy też w późniejszych fazach projektu również (budowa, facility management). Jeśli ani klient, ani wykonawca nie życzą sobie modeli, a wszystkie biura pracują na Revicie, to używanie IFC byłoby przerostem formy nad treścią.

Ale w odwrotnym wypadku, IFC już ma zastosowanie, tylko wtedy dopiero na końcu procesu projektowego, przy hand-over.

Autor:

Pobierz przewodnik po projektach BIM:

Po przeczytaniu tego poradnika dowiesz się:

  1. Jak BIM jest wykorzystywany przy największych projektach w Norwegii
  2. Jakie były wyzwania dla zespołu projektowego i jak zostały rozwiązane
  3. Jakie były wyzwania na budowie i jakie było nasze podejście do nich

Najnowsze wpisy: