Każdy, kto pracuje z IFC, słyszał, że format niesie coś więcej niż geometrię. Właściwości, klasyfikacje, relacje, materiały. Dobrze.
Prawie nikt nie wspomina, że niesie też czas.
Nie jako podlinkowany plik z Primavery. Nie jako wyeksportowany arkusz, który trzeba gdzieś zaimportować z powrotem. Jako pełnoprawne encje, w tym samym pliku co geometria. To znaczy, że jeśli dane tam są, możesz patrzeć, jak konstrukcja sama się buduje – i nie potrzebujesz do tego ani jednej komercyjnej licencji.
Ten artykuł przeprowadza przez to od początku do końca, samymi kliknięciami. Gdzie harmonogram siedzi w pliku, jak go odtworzyć, jak zbudować go od zera, jeśli twój model go nie ma – i trzy rzeczy, które się wysypały, kiedy robiłem ten film.
Punkt wyjścia – gdzie w pliku siedzi harmonogram
Zacznijmy od rzeczy, która myli praktycznie każdego przy pierwszym kontakcie. Otwierasz plik IFC w przeglądarce, rozwijasz drzewo i żadnego harmonogramu nie widzisz. Nic dziwnego. Nie ma go tam, gdzie patrzysz.
Drzewo, które widzisz w przeglądarce, to struktura przestrzenna – projekt, teren, obiekt, jego części i elementy fizyczne w środku. Harmonogram do niej nie należy, bo zadanie nie jest rzeczą stojącą w przestrzeni. Wisi na projekcie osobną gałęzią.
- IfcProject
- ├─ IfcRelAggregates → IfcSite → IfcBridge → IfcBridgePart → elementy
- │ to widzisz w drzewie przeglądarki
- │
- └─ IfcRelDeclares → IfcWorkPlan → IfcWorkSchedule → IfcTask
- tego nie widzisz – i tu siedzi całe 4D
Dwie gałęzie tego samego projektu. Geometria po lewej, czas po prawej. Nigdy się nie przecinają, dopóki nie zrobi tego IfcRelAssignsToProduct.
Stąd bierze się wrażenie, że „w pliku nic nie ma”. Zwykła przeglądarka pokazuje jedną gałąź i tyle. Żeby zobaczyć drugą, potrzebujesz narzędzia, które ją czyta – i o tym jest reszta tego artykułu.
Same powiązania są proste, ale każde robi co innego:
| Powiązanie | Łączy | Po co |
|---|---|---|
IfcRelDeclares |
projekt → plan i harmonogram | wpina harmonogram do projektu, poza strukturą przestrzenną |
IfcRelAssignsToControl |
harmonogram → zadania | mówi, do którego harmonogramu należy zadanie |
IfcRelNests |
zadanie → podzadanie | buduje hierarchię etapów |
atrybut TaskTime |
zadanie → IfcTaskTime |
daty; nie relacja, tylko zwykły atrybut zadania |
IfcRelAssignsToProduct |
element ↔ zadania | jedyne miejsce, w którym czas spotyka geometrię |
IfcRelSequence |
zadanie → zadanie | zależności i wyprzedzenia |
Warto zapamiętać kierunek ostatniej istotnej relacji, bo bywa mylący: w IfcRelAssignsToProduct produktem jest element fizyczny, a obiektami powiązanymi są zadania. Czytasz to od elementu do zadania, nie odwrotnie.
IFC 2×3 tego nie potrafi. Jeśli otworzysz wersję 2×3 tego samego mostu, panel harmonogramu w ogóle się nie pojawi – niezależnie od tego, co siedzi w pliku. Cały ten artykuł zakłada IFC 4.3.
Część 1 – Czym właściwie jest 4D w IFC
Najczęstsze nieporozumienie brzmi tak: 4D to „model plus harmonogram leżący obok”. Otóż nie. Nie ma linku do zewnętrznego pliku, nie ma dopasowywania identyfikatorów, nie ma wspólnego arkusza. Harmonogram jest w pliku, jako pełnoprawne obiekty, a połączenie między zadaniem a elementem to jawny obiekt relacji – dokładnie taki sam jak ten, który wstawia słup do kondygnacji.
Całość niesie pięć typów encji.
- IfcWorkPlan „Plan budowy BR-01”
- └─ IfcWorkSchedule „Harmonogram budowy BR-01” [PLANNED]
- ├─ IfcTask ×17 co się dzieje
- │ └─ IfcTaskTime kiedy się dzieje
- ├─ IfcRelNests etap → podzadanie
- ├─ IfcRelSequence ×14 co na co czeka
- └─ IfcRelAssignsToProduct zadanie → element fizyczny
Kompletna struktura 4D w pliku mostu. Siedem linii. To wszystko.
Zadanie i jego czas
Zadanie jest celowo chude. Trzyma nazwę, kod identyfikacyjny, typ predefiniowany i wskaźnik na osobny obiekt, który niesie daty. Dwa szczegóły warto znać, bo na nich ludzie się przewracają.
Po pierwsze, typ predefiniowany – zwykle CONSTRUCTION – nie jest ozdobnikiem. Mówi, jakiego rodzaju to praca: budowa, rozbiórka, logistyka, montaż. Narzędzie 4D używa tego do doboru koloru. Zostaw NOTDEFINED, a sekwencja rozbiórki zanimuje się na tę samą zieleń co nowa konstrukcja.
Po drugie, IfcTaskTime ma dwadzieścia atrybutów, a do animacji potrzeba trzech: czas trwania, start planowany i koniec planowany. Reszta – start i koniec rzeczywisty, daty wczesne i późne, zapas, procent zaawansowania – przydaje się dopiero przy porównaniu z powykonawczym.
Przypisanie zadań do elementów
Harmonogram bez połączenia z geometrią to po prostu harmonogram. Tym połączeniem jest IfcRelAssignsToProduct i to właśnie ono zamienia daty w animację. W pliku mostu przypisania wyglądają tak:
| Zadanie | Nazwa | Elementy | Przypisane klasy |
|---|---|---|---|
T10.1–T10.6 |
Fundamenty, na oś podpory | po 3 | IfcFooting, IfcSlab, IfcEarthworksFill |
T20.1, T20.6 |
Przyczółki A1 i A2 | po 3 | IfcWall |
T20.2–T20.5 |
Filary P1 do P4 | po 1 | IfcColumn |
T30 |
Betonowanie ustroju i łożyska | 7 | IfcBearing, IfcBeam, IfcSlab |
T40 |
Gzymsy i płyty przejściowe | 14 | IfcBeam, IfcSlab, IfcEarthworksFill |
T50 |
Balustrady i wyposażenie | 2 | IfcRailing |
Zsumuj to i wychodzi 51 elementów. Most ma 151. Zapamiętaj tę różnicę – wracamy do niej w części 3.
Zależności między zadaniami
Zależności to osobne obiekty. IfcRelSequence wskazuje z zadania poprzedzającego na następujące i niesie typ zależności:
| Typ | Znaczenie | Użycie w tym pliku |
|---|---|---|
FINISH_START |
B startuje, gdy A się kończy. Domyślne w każdym harmonogramie. | 4 × (między etapami) |
START_START |
B startuje, gdy startuje A. Praca równoległa. | 10 × (wewnątrz etapów) |
FINISH_FINISH |
B kończy się, gdy kończy się A. | – |
START_FINISH |
B kończy się, gdy A startuje. Rzadkie i zwykle jest to pomyłka. | – |
Każda zależność może też nieść wyprzedzenie (IfcLagTime) – przesunięcie między dwoma zdarzeniami. Dojrzewanie betonu przed rozdeskowaniem to właśnie wyprzedzenie. Żadna z czternastu zależności w tym pliku go nie ma, a w części 3 zobaczysz, co to robi z animacją.
Część 2 – Krok po kroku w Bonsai
Bonsai – dawniej BlenderBIM – to darmowy dodatek open source, który zamienia Blender w środowisko do pracy z IFC. Czyta harmonogram natywnie i potrafi animować model bezpośrednio z niego. Wszystko poniżej to klikanie w interfejsie; zrzuty pochodzą z Blendera 5.1 i Bonsai 0.8.5.
Numerki na zrzutach odpowiadają numerkom na liście pod każdym z nich.
Krok 1 – Instalacja i wczytanie modelu
Zainstaluj Bonsai z platformy rozszerzeń Blendera: Edit → Preferences → Get Extensions, wyszukaj Bonsai, zainstaluj. Zrestartuj Blender. Dostaniesz nową zakładkę BIM na górnej belce.
Potem File → Open IFC Project i wybierz swój plik.
Krok 2 – Otwórz panel harmonogramu
Tu większość ludzi utyka, bo to nie jest miejsce, w którym byś tego szukał. Narzędzia harmonogramu nie są w panelu bocznym widoku 3D – siedzą w edytorze Properties, w zakładce Scene.

- 1
Zakładka Scene
Wszystko, co Bonsai dokłada do projektu, mieszka tutaj.
- 2
Lista rozwijana → Costing and Scheduling
Przełącza Bonsai na grupę paneli 4D i 5D.
- 3
Construction Scheduling → Work Schedules
Rozwiń. Powinieneś zobaczyć liczbę znalezionych harmonogramów i nazwę tego z pliku.
- 4
Pierwsza z czterech małych ikon
To ona otwiera drzewo zadań. Kolejne to edycja nazwy, duplikat i usunięcie – żadna z nich nie otworzy harmonogramu.
Ikony nie mają podpisów, a kolumna Properties jest domyślnie za wąska i ucina teksty przycisków. Rozciągnij ją myszą, zanim zaczniesz – inaczej połowy rzeczy po prostu nie zobaczysz.
Krok 3 – Ustaw zakres dat i prędkość
Po wejściu w edycję harmonogramu pojawia się drzewo zadań, a pod nim sekcja Animation Tools. Jest domyślnie zwinięta i nie istnieje, dopóki harmonogram nie jest aktywny – jeśli jej nie widzisz, krok 2 się nie udał.

- 1
Animation Tools
Rozwiń sekcję.
- 2
Animation Settings
Tryb animacji. Sąsiedni Snapshot Settings daje jeden dzień zamiast całej sekwencji.
- 3
Guess
Odczytuje najwcześniejszy start i najpóźniejszy koniec z zadań i wypełnia zakres dat. Nie wpisuj dat ręcznie.
- 4
Prędkość
Wybierz Frame-based i czytaj to jako „tyle klatek kupuje jeden tydzień budowy”. 12 klatek na tydzień daje z tego harmonogramu około dziesięciu sekund filmu.
Krok 4 – Zrób animację i obejrzyj ją
Na tym samym panelu, niżej:
- 5
Create Animation
Zapisuje klatki kluczowe na modelu. To jest ten przycisk.
- 6
Add Camera
Wstawia kamerę wycelowaną w model. Przyda się do renderu.
Naciśnij spację, żeby odtworzyć. Przeciąganie suwaka na osi czasu przeskakuje do dowolnej daty.

Dlaczego kolory w ogóle się pojawiają. Bonsai nie animuje widoczności ani materiałów – animuje kolor obiektu. Create Animation przy okazji sam przełącza cieniowanie widoku na kolor obiektu. Gdyby tego nie zrobił, animacja działałaby idealnie, a ty byś jej nie zobaczył. Jeśli kiedyś trafisz na model, który stoi w miejscu mimo wciśniętego play – zacznij od sprawdzenia tego ustawienia.
Krok 5 – Wyrenderuj film
Bonsai buduje animację w scenie, ale jej nie renderuje – to już zwykły Blender. Właściwym silnikiem jest Workbench: rysuje kolor obiektu bezpośrednio, czyli dokładnie to, co Bonsai zanimował, i jest przy tym najszybszy.

- 1
Render Engine → Workbench
Renderuje kolor obiektu, bez ustawiania materiałów i świateł.
- 2
Color → Object
Bez tego render zignoruje zanimowane kolory i dostaniesz jednolitą szarość.
- Properties → Output – ustaw rozdzielczość. Zakres klatek jest już poprawny.
- Media Type → Video. Dopóki tego nie przełączysz, format wideo nie pojawi się na liście.
- Format pliku FFmpeg Video, dalej kontener MPEG-4 i kodek H.264.
- Render → Render Animation.
Krok 6 – A jeśli twój plik nie ma harmonogramu w ogóle
Wszystko powyżej zakładało, że harmonogram w pliku jest. Jeśli masz goły eksport – sama geometria – budujesz go w tym samym panelu, w tej kolejności. Przy każdym kroku podaję encję, która powstaje.
- Dodaj harmonogram. W sekcji Work Schedules naciśnij plus. Powstaje
IfcWorkSchedule. Potem pierwsza ikona w jego wierszu, czyli tryb edycji zadań – tak jak w kroku 2. - Dodaj zadanie etapowe przyciskiem Add Summary Task. Jedno na etap budowy. Powstaje
IfcTask. Nadaj mu czytelny kod, bo po nim będziesz się poruszał w całej dalszej robocie. - Dodaj podzadania przyciskiem Add, mając zaznaczony etap. Powstaje
IfcRelNests. Tu wpisujesz realny podział roboty: fundament po fundamencie, podpora po podporze. - Wpisz daty. Zaznacz zadanie, Edit, potem ikona zegara i wypełnij start oraz koniec planowany. Powstaje
IfcTaskTime. Zadanie bez dat nie trafi na oś czasu. - Przypisz elementy. Zaznacz obiekty w widoku 3D, zaznacz zadanie i dodaj je w panelu Task ICOM w sekcji Outputs. Powstaje
IfcRelAssignsToProduct. To jest krok, który zamienia harmonogram w model 4D – wszystko wcześniej to była tylko lista dat. - Dodaj zależności. Edit, potem ikona celownika, i wskaż poprzednika albo następnika. Powstaje
IfcRelSequence. - Zapisz plik IFC. Wszystko powyższe ląduje w tym samym pliku co geometria. Nie powstaje żaden plik towarzyszący.
Zanim zbudujesz cały harmonogram, sprawdź jedną rzecz. Jeśli w modelu masz zespoły – balustrady, kratownice, prefabrykaty złożone z części – przypisanie zadania do rodzica nie obejmuje jego części. To dokładnie ta pułapka, od której zaczyna się następna część, i lepiej wiedzieć o niej przed, niż po zbudowaniu całego harmonogramu.
Bezpłatny webinar na żywo
IFC 2×3 vs IFC 4.3
Jeden most. Dwie schemy. Wszystko, co się zmienia.
Harmonogram, który właśnie zobaczyłeś, to jedna z sześciu warstw informacyjnych, które zbudowałem w tym moście. 5 października otwieram ten sam model na żywo i czytam pozostałe pięć – oś trasy i kilometraż, części mostu, łożyska, profile materiałowe i model obliczeniowy – obok wersji IFC 2×3 z identyczną geometrią.
Do tego pięciokrokowy framework – Zrozum, Ustrukturyzuj, Wyeksportuj, Sprawdź, Zweryfikuj – do przejścia przed następnym przekazaniem.
Poniedziałek 5 października 2026 · 19:00 CEST · 60 min + Q&A na żywo
Bezpłatnie. Nagranie i slajdy trafiają do każdego, kto się zapisze, niezależnie od tego, czy będzie na żywo.
Część 3 – Trzy rzeczy, które się wysypały
Wszystko powyżej to ścieżka z dokumentacji. Poniżej jest to, co faktycznie się stało, kiedy robiłem ten film. Żadna z tych trzech rzeczy się nie zgłasza – animacja po prostu wychodzi źle.
Pułapka 1
Balustrady stały już w pierwszej klatce
Etap 5 montuje balustrady. W pierwszej wersji stały na moście, zanim wylano fundamenty.
Pamiętasz różnicę z części 1: 51 przypisanych elementów, 151 elementów w moście. Te 100 brakujących to słupki balustrady. Zadanie wskazuje na balustradę jako całość, a jej słupki wiszą pod nią jako osobne elementy i nie dziedziczą przypisania. Bonsai ich nie dotyka, a element, którego nikt nie dotknął, jest widoczny od pierwszej klatki.
Jak naprawić: zaznacz słupki w widoku 3D, zaznacz zadanie w drzewie i dodaj je w Task ICOM → Outputs, tak samo jak przypisywałeś resztę.
Ogólna lekcja jest warta więcej niż sama poprawka: po zbudowaniu animacji policz elementy, które faktycznie mają zadanie. Nie te, które harmonogram wymienia – te, które zostały zanimowane. Jeśli liczby się różnią, coś jest na ekranie w złym momencie.
Pułapka 2
Kolor „w trakcie” mignął i zniknął
Zieleń ma oznaczać pracę w toku przez cały czas trwania zadania. Pojawiała się na kilka klatek i blakła do bieli.
Bonsai zapisuje kolor na początku zadania i drugi na jego końcu, a Blender domyślnie płynnie przechodzi między nimi. Element nie trzyma zieleni przez 45 dni betonowania – zaczyna zielony i przez większość zadania jest gdzieś pomiędzy zielenią a bielą.
Jak naprawić: stan nie jest gradientem, element albo jest w budowie, albo nie. Zaznacz klucze koloru w Dope Sheet i ustaw interpolację na Constant – kolor wtedy trzyma i przeskakuje zamiast się przelewać.
Pułapka 3
Sześć fundamentów pojawiło się w tej samej chwili
Potem przez trzy sekundy nic się nie ruszało. Potem naraz sześć filarów. Film wyglądał na zepsuty – a dane były całkowicie poprawne.
To akurat nie jest problem narzędzia. To harmonogram, i z całej trójki najbardziej użyteczna rzecz, bo na to trafisz na prawdziwych projektach.
| Zadanie | Nazwa | Start | Koniec | Czas trwania |
|---|---|---|---|---|
T10 |
Etap 1 – Fundamenty | 2027-04-05 | 2027-04-29 | 25 d |
T10.1 |
Fundamenty A1 | 2027-04-05 | 2027-04-09 | 5 d |
T10.2 |
Fundamenty P1 | 2027-04-05 | 2027-04-09 | 5 d |
T10.3 |
Fundamenty P2 | 2027-04-05 | 2027-04-09 | 5 d |
T10.4 |
Fundamenty P3 | 2027-04-05 | 2027-04-09 | 5 d |
T10.5 |
Fundamenty P4 | 2027-04-05 | 2027-04-09 | 5 d |
T10.6 |
Fundamenty A2 | 2027-04-05 | 2027-04-09 | 5 d |
Wszystkie sześć podzadań ma identyczne daty, a zależności między nimi to START_START bez wyprzedzenia. To mówi precyzyjnie i poprawnie: te sześć rzeczy zaczyna się w tym samym momencie. Animacja pokazuje więc sześć fundamentów pojawiających się jednocześnie. To nie jest błąd – to wierne odwzorowanie harmonogramu, który mówi, że wszystkie brygady betonują w ten sam poniedziałek.
W tej samej tabeli jest drugi objaw. Podzadania zajmują 5 dni z 25-dniowego etapu. W pozostałe trzy tygodnie nic nie jest zaplanowane, więc film trzyma statyczny obraz, podczas gdy kalendarz przepala miesiąc.
Dwa wyjścia, i są to naprawdę różne decyzje:
- Rozsuń daty. Jeśli praca faktycznie przesuwa się wzdłuż mostu – A1, potem P1, potem P2 – daty podzadań powinny to mówić. To poprawka po stronie planowania i to ta uczciwa.
- Dodaj wyprzedzenia. Zostaw
START_STARTi nadaj każdej zależności kilka dni wyprzedzenia, żeby brygady szły jedna za drugą, zamiast startować razem.
Co wydobywa właściwy sens budowania animacji 4D w ogóle.
Harmonogram na wykresie Gantta, w którym wszystko startuje jednego dnia, wygląda całkowicie normalnie – sześć pasków, ładnie wyrównanych, nikt nie mrugnie okiem. Ten sam harmonogram jako film jest natychmiast, fizycznie nieprawdopodobny: sześć osobnych fundamentów, oddalonych o siedemdziesiąt metrów, materializuje się w tej samej klatce.
4D nie jest narzędziem prezentacyjnym. Jest narzędziem przeglądowym. Animacja to sposób, w jaki zauważasz, że harmonogram mówi coś, czego nikt nie miał na myśli.
Sprawdź to na własnym pliku – pięć kontroli
- Czy w ogóle jest harmonogram? Otwórz Work Schedules. Zero znalezionych albo brak całego panelu znaczy, że nie ma danych 4D, i żaden program ich nie wymyśli.
- Czy zadania mają daty? Włącz kolumny przez Schedule Columns i przejedź wzrokiem po drzewie. Puste pola startu i końca to zadania, których nie da się umieścić na osi czasu.
- Ile elementów ma zadanie? Select Unassigned zaznacza wszystko, co nie ma przypisanego zadania. To najszybsza kontrola danych 4D, jaka istnieje.
- Czy zespoły są pokryte? Po poprzedniej kontroli zobacz, czy w zaznaczeniu nie siedzą części zespołów. Tam mieszka pułapka 1.
- Czy typy zadań mają sens? Jeśli po uruchomieniu animacji wszystko zmienia się na jeden kolor, typy predefiniowane są puste i żadna faza robót nie odróżni się od pozostałych.
O tym modelu. Geometria mostu pochodzi z prawdziwego eksportu z Tekla Structures. Semantyka – harmonogram, materiały, klasyfikacje – została zbudowana na niej na potrzeby dydaktyczne, a wartości są poglądowe: klasy betonu, daty i klient to przykłady, nie dane projektowe.
O wsparciu w przeglądarkach. Harmonogramowanie w IFC 4.3 jest dobrze zdefiniowane w schemie, ale odczytanie go to inna sprawa. Bonsai radzi sobie z tym poprawnie. Kilka popularnych przeglądarek nadal całkowicie ignoruje harmonogram albo pokazuje zadania bez połączenia z elementami. Sprawdź, co robi twój własny zestaw narzędzi, zanim obiecasz klientowi produkty 4D.
Co to właściwie pokazuje
Dwunastosekundowy film to miła rzecz. Nie o to chodzi.
Chodzi o to, że jeden plik IFC niósł geometrię, klasyfikację, ilości i harmonogram jednego mostu – a darmowy dodatek odczytał z niego harmonogram i zanimował konstrukcję, bez przepisywania przez nikogo ani jednej daty.
To działa tylko wtedy, gdy informacja jest w modelu. Kliknij Eksportuj do IFC na modelu bez typów, bez ilości i bez harmonogramu, a dostaniesz kształt. Wszystko w tym artykule nie miałoby czego czytać.
Bezpłatny webinar na żywo
IFC 2×3 vs IFC 4.3
Dlaczego twój model infrastrukturalny wreszcie ma sens dla klienta
Biorę ten most – te same 87 metrów, ta sama geometria co do milimetra – wyeksportowany na trzy sposoby: niechlujny IFC 2×3, najlepszy IFC 2×3, na jaki pozwala schema, i pełne IFC 4.3. Potem czytam wszystkie trzy obok siebie na ekranie.
Oś trasy i kilometraż. Części mostu zamiast kondygnacji budynku. Łożyska, które są łożyskami. Harmonogram, który właśnie zobaczyłeś. I liczba, która zaskakuje wszystkich: najgorszy plik jest trzy razy większy od najlepszego i nie niesie żadnej informacji.
Poniedziałek 5 października 2026 · 19:00 CEST · 60 min + Q&A na żywo
Bezpłatnie. Nagranie i slajdy trafiają do każdego, kto się zapisze, niezależnie od tego, czy będzie na żywo.
Jeśli chcesz pójść dalej niż jeden przykład, IFC Infrastructure Masterclass przechodzi przez cały proces przekazywania informacji w sześciu warsztatach – obiekty, relacje, właściwości, klasyfikacja i struktura informacji, na prawdziwych modelach infrastrukturalnych.




