.bim – nowy format dla BIM

.bim – nowy format BIM

Czy BIM może być wolny od skomplikowanych standardów i procedur? Czy możemy po prostu przesyłać geometrie reprezentujące budowle, z dołączonymi do nich informacjami, bez czytania setek stron dokumentacji? Na początku roku 2022 pojawił się nowy format BIM. Nazwa to dotbim (rozszerzenie: .bim). Projekt jest w 100 procentach darmowy i otwarty i znacząco różni się od istniejących już projektów.

Dotbim został stworzony w celu znacznego uproszczenia plików BIM. Dlatego też podpunkty manifestu projektu wyglądają tak:

  • Przekazujmy geometrię i dane
  • Za darmo i otwarcie
  • Narzędzia do formatu powinny być możliwie tworzone zaledwie w ciągu kilku godzin
  • Dokumentacja formatu powinna mieścić się na jednej stronie
  • Upewnijmy się, że każdy może wspierać wszystkie opcje formatu

Dlatego też schemat plików .bim jest możliwie najprostszy. Dokumentacja zawiera jedną stronę, więc przejdźmy przez nią teraz wraz z komentarzem.

schema of dotbim file format
Rysunek 1. Cały schemat formatu plików dotbim

Geometria w nowym formacie BIM

Geometrie, które mogą być zapisywane w plikach .bim to wyłącznie siatki trójkątów. Nie ma możliwości zapisać jakiegokolwiek innego typu geometrii. Oznaczo to tyle, że wszystkie inne typy geometrii muszą być najpierw zdyskretyzowane do takich siatek.

Mesh representation of geometry
Rysunek 2. Reprezentacja geometrii za pomocą siatki trójkątnej

Takie podejście sprawia, że odczytanie takiego pliku staje się banalnie proste. Większość formatów CAD wspiera wiele różnych typów geometrii, to jednak oznacza, że każdy z nich musi być poprawnie obsłużony przez importer. W rzeczywistości jest to spore wyzwanie. To jest właśnie jeden z powodów dlaczego użytkownicy programów CAD/BIM spotykają się raz na jakiś czas z przypadkami gdzie podczas importu / eksportu danego pliku pewne elementy zniknęły bądź wyświetlają się inaczej w programie docelowym.

Kolejnym argumentem za ograniczeniem się do siatek jest fakt, że jest to najprawdopodobniej najprostsza forma zapisu geometrii 3d. Wystarczy więc dla formatu .bim napisać prawidłowo importer siatek, co jest stosunkowo proste: a wtedy załadują się wszystkie geometrie, a nie tylko niektóre z nich.

Niektórzy mogliby teraz powiedzieć: siatki są OK, ale to geometrie typu BREP są w stanie opisać obiekty w 3d w sposób dokładny. To prawda, ale w mojej opinii w branży AEC w większości przypadków nie potrzebujemy nieskończenie dokładnych elementów obiektów takich jak ściany, belki, pręty itp. Dla koordynacji, a często również dla produkcji: siatki są wystarczającym rozwiązaniem. Zastanów się: czy BIM manager jest w stanie powiedzieć czy patrzy na siatkę czy na BREP? Nasza branża znacznie różni się od branż automotive / naval czy branży meblarskiej, gdzie na BREP-y jest uzasadnione zapotrzebowanie.

Transformacje w formacie .bim

Są tylko dwie transformacje dozwolone w plikach .bim: translacja i obrót. Nazywamy je tutaj “vector” i “rotation”. Więc każda zapisana siatka może być przeniesiona za pomocą tych dwóch transformacji. Każdy element zawiera id siatki, która go opisuje, a następnie jest ona przesuwana i obracana w docelowe miejsce. To również oznacza, że używanie jednej siatki wiele razy dla różnych elementów jest możliwe! Jest to bardzo pomocne gdy chcemy zmniejszyć objętość plików, bo to oznacza że siatka raz zapisana, może być wykorzystywana wielokrotnie. Dla przykładu: wyobraźmy sobie stadion z tysiącem takich samych krzeseł. Wtedy tylko jedna siatka, która reprezentuje takie krzesło, będzie zapisana w pliku raz, a następnie będzie do niej użyta referencja w tysiącu różnych miejsc.

Dane

Do elementów dołączamy również dane. Wszystkie dane w plikach .bim zapisujemy w postaci słownika. Więc to co mamy to lista kluczy i wartości, które opisują nasz element. Jakie dane możemy zapisać dla danego elementu w takiej formie? Jakie chcemy: to zależy od Ciebie!

data attached to Top Chord element
Rysunek 3. Przykład pliku dla kratownicy, dane dołączone do elementu Top Chord

Plik przykładowy formatu BIM

Spójrzmy zatem na prosty przykładowy plik Teapot.bim, aby zrozumieć jak to wygląda w środku. Na górze pliku widzimy wersję schematu “1.0.0” a następnie definicję siatki. “mesh_id” czyli id tej siatki to: 0. W tym pliku jest to jedyna zapisana siatka. Na początku definicji siatki mamy listę koordynatów. Są one pogrupowane w punkty tak jak to jest zilustrowane na obrazku poniżej:

Definition of mesh’s vertices
Rysunek 4. Definicja wierzchołków siatki

Następnie mamy indeksy. Jest to kolejna lista, lecz tym razem zawiera ona informacje odnośnie tego które punkty (zdefiniowane w liście z wierzchołkami) powinniśmy użyć, aby zbudować z nich trójkąty, które definiują siatkę.

Definition of mesh’s faces
Rysunek 5. Definicja trójkątów siatki

Tak wygląda cała definicja siatki. Przejdźmy zatem do elementów. W tym przykładzie mamy tylko jeden element, który reprezentuje czajnik.

Definition of elements
Rysunek 6. Definicja elementu

Na samym końcu możesz znaleźć dane dla całego pliku:

File’s data
Rysunek 7. Dane dotyczące całego pliku

To wszystko. W zasadzie jeśli rozumiesz wszystko powyżej, to oznacza to, że właśnie zrozumiałeś cały schemat formatu .bim, ponieważ nie tu niczego więcej. Oczywiście: typowe pliki .bim zawierają znacznie więcej siatek i elementów oraz mają więcej dołączonych danych do każdego z elementów, ale jeśli rozumiesz ten prosty przykład – najprawdopodobniej rozumiesz już cały schemat.

W rezultacie mamy model który wygląda tak:

Teapot example result
Rysunek 8. Resultat pliku

Więcej przykładów można znaleźć tutaj: LINK: https://github.com/paireks/dotbim/tree/master/test/ExampleFiles

Przykład z mostem

Marcin Woch stworzył znakomity przykład pliku .bim który można zobaczyć tutaj:


Poniej sam mozesz obracac modelem 3D w przegladarce.

Po kliknięciu w ikonę Online 3d Viewer – powinien otworzyć się cały model w nowej karcie. Wtedy możliwe jest klikanie w poszczególne elementy modelu i oglądanie jakie informacje są w nich zawarte. W niektórych z nich znajdziesz linki do różnych stron, co pokazuje, że możesz dołączać również referencje do innych stron internetowych jako właściwości elementu.

Cel formatu BIM

Celem projektu jest przedstawienie otwartego, darmowego i łatwego do tworzenia i parsowania formatu plików dla branży BIM. Prosty format plików = łatwiejsze tworzenie bardziej niezawodnego oprogramowania.

Wierzę, że stworzenie prostego formatu z perspektywy dewelopera programu może wpłynąć na zauważalne podniesienie jakości oprogramowania z perspektywy jego użytkownika. Jest ogromnym wyzwaniem tworzenie niezawodnych narzędzi w oparciu o skomplikowane procedury.

Dobrze jest również podkreślić, że ten format plików został stworzony z myślą o tym, by pozostał taki jaki jest teraz. Nie ma planów by zwiększyć liczbę jego opcji i możliwości w przyszłości, lub by zmienić w nim coś, co by zmuszało do zmiany wszystkie oprogramowania bazujące na nim. Jest co prawda furtka na taką ewentualność, jaką jest schema_version, ale mam nadzieję, że zawsze pozostanie on “1.0.0”. Takie podejście jest znacznie inne od wielu innych formatów plików, które ciągle starają się poprawiać, co zmusza inne oprogramowania do ciągłego przepisywania istniejącej funkcjonalności z tego powodu.

Porównanie do IFC

Zapewne już teraz zauważyłeś wiele różnic między schematem dotbim a IFC, ale aby je podsumować:

.bim .ifc
Czy jest darmowy? Tak Tak
Czy jest darmowy? Tak Tak
Typ Plik tekstowy Plik tekstowy
Co zawiera? Geometrie + dane Geometrie + dane przechowywane w ustandaryzowany sposób
Dozwolone typy geometrii Siatki trójkątne Wiele różnych typów: siatki, BREPs, extrusion, itd.
Liczba stron dokumentacji 1 100+

ion Moult stworzył znacznie bardziej rozszerzone porównanie, które można znaleźć tutaj: HERE

Gdzie zacząć?

Jeśli chciałbyś znaleźć więcejinformacji o projekcie>

 https://dotbim.net/

Istnieją już pewne narzędzia dla deweloperów, importery, eksportery czy konwertery dla plików .bim. Wszystkie aplikacje, które używają pliki .bim mogą być znalezione jako wymienione na liście, w głównym repozytorium:

https://github.com/paireks/dotbim

Główne repozytorium zawiera również dokumentację formatu. Jeśli jesteś deweloperem, ten poradnik może okazać się przydatny:

https://github.com/paireks/dotbim/blob/master/DeveloperTips.md

Dzięki Viktor Kovacs, Online 3D Viewer jest w stanie wczytać pliki .bim, więc już teraz możesz przeciągnąć swój plik .bim z pulpitu do swojej przeglądarki na tę stronę, aby go wyświetlić:

https://3dviewer.net/

Example .bim file of a steel structure
Rysunek 9. Przykład konstrukcji stalowej zapisanej do pliku .bim

Plany na przyszłość nowego formatu BIM

Oczywiście: to co sprawia, że dany format plików jest użyteczny, to liczba platform, która go wspiera. Dlatego też będę ogromnie wdzięczny, jeśli ktokolwiek chce spróbować formatu lub stworzyć narzędzia w oparciu o ten format dla różnych platform! Bez pomocy społeczności nie będzie to możliwe, więc jeśli chciałbyś spróbować: skontaktuj się, a spróbuję pomóc jak tylko mogę.

Wojciech RadaczyńskiAuthor of the post
Wojciech Radaczynski jest programistą w Designbotic . Absolwent Wydziału Budownictwa Lądowego i Wodnego Politechniki Wrocławskiej. Autor formatu .bim, twórca open-sourcowych dodatków do Grasshoppera, takich jak T-Rex, Pterodactyl, Brontosaurus, Megarachne.

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:

BIM Corner Guest

BIM Corner Guest

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: