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:

Share on facebook
Share on twitter
Share on linkedin

Komentarze:

Subscribe
Powiadom o
guest
0 Comments
Inline Feedbacks
View all comments

Autor:

Pobierz raport płac:

Znajdziesz w nim min:

  • Wynagrodzenia specjalistów BIM z 24 krajów z całego świata,
  • Informacje na temat poziomu adopcji BIM w każdym z tych krajów,
  • Lista miejsc gdzie najlepiej szukać pracy w danym kraju. 
BIM Salary Report

Najnowsze wpisy: