Dynamo dla Revit - automatyzacja powtarzalnych zadań projektowych w MEP, architekturze i konstrukcjach
Spis treści
Dynamo dla Revit - co realnie zmienia w codziennej robocie
Kiedy pierwszy raz pokazałem Dynamo zespołowi w biurze przy Grzybowskiej, usłyszałem klasyczne: „Fajne, ale kiedy my mamy się tego nauczyć?”. Tydzień później ten sam kolega, który najgłośniej marudził, jednym grafem poprawił parametry na kilkunastu arkuszach i wyszedł z pracy godzinę wcześniej. To jest moment, w którym Dynamo zaczyna być „nasze”, a nie „jakieś narzędzie z internetu”.
Dynamo dla Revit w praktyce potrafi całkowicie zmienić sposób, w jaki podchodzisz do codziennych obowiązków w BIM. W projektach, gdzie setki razy powtarzasz ten sam klik, każdy błąd to potencjalny konflikt na budowie. Dynamo pozwala te powtarzalne czynności zamienić w powtarzalne procesy - z tą różnicą, że proces się nie męczy, nie ma gorszego dnia i nie myli się na pięćdziesiątym arkuszu.
Najbardziej odczuwalny efekt to skrócenie czasu pracy z godzin do minut. Zespół przestaje „klepać” dane, a zaczyna projektować. Do tego dochodzi standaryzacja - te same reguły obowiązują wszystkich, więc dane w modelu są spójne, a liczba korekt na dalszych etapach inwestycji wyraźnie spada.
Zyskujesz też elastyczność. Zmieniają się wymagania inwestora? Zamiast kolejnego maratonu klikania - modyfikujesz graf i przepuszczasz przez model jeszcze raz. Przy większych projektach to różnica między „damy radę” a „będziemy po nocach”.
Od kilku lat widzę powtarzalny schemat: tam, gdzie wchodzimy z sensowną automatyzacją, spada liczba problemów na budowie, a rozmowy z wykonawcą są bardziej merytoryczne i mniej nerwowe. Dynamo nie jest magią, ale jest bardzo konkretną inwestycją w jakość i przewidywalność projektu.
Czym właściwie jest Dynamo dla Revit
Najprościej: Dynamo to wizualne środowisko do „programowania” Revita. Skrypty budujesz z klocków - węzłów (nodes) i połączeń (wires) - zamiast pisać kod w C# czy VB.
Od strony technicznej Dynamo działa jako pomost do Revit API. Normalnie, żeby się tam dostać, musiałbyś pisać dodatki .NET. Tutaj robisz to graficznie. Dlatego Dynamo uchodzi za narzędzie low‑code: nie musisz znać składni języka, ale musisz umieć myśleć procesowo.
Kiedy w 2017 roku na jednym z projektów biurowych w Katowicach walczyliśmy z aktualizacją setek parametrów, jeszcze instalowałem Dynamo jako osobny dodatek i pilnowałem wersji pod każdy Revit w zespole. Dziś jest prościej - od Revit 2020 Dynamo jest w pakiecie instalacyjnym i aktualizuje się razem z programem. Nie kombinujesz z osobnymi instalatorami, chociaż temat zgodności wersji wciąż potrafi bolać.
Dynamo działa wyłącznie w kontekście otwartego modelu. To nie jest osobny „silnik”, który gdzieś z boku grzebie w plikach RVT. Musisz mieć otwarty projekt w Revicie, uruchamiasz graf, a on pracuje na tym, co widzi w modelu.
Samo uruchomienie jest banalne: w Revicie wchodzisz w zakładkę Zarządzaj (Manage) i tam znajdziesz przycisk Dynamo. Po kliknięciu otwiera się osobne okno z interfejsem, w którym tworzysz nowe grafy albo odpalasz istniejące.
W starszych wersjach (np. Revit 2017-2018) Dynamo trzeba było doinstalować. Wtedy kompatybilność była osobnym zadaniem przy każdym projekcie - skrypt zrobiony w nowszym Dynamo często nie chciał się otworzyć w starszym. Do dziś przy wymianie skryptów między biurami zdarza mi się słyszeć: „U nas się nie uruchamia” - i w połowie przypadków winna jest właśnie wersja Dynamo lub użyte pakiety.
Jak wygląda praca w interfejsie Dynamo
Interfejs Dynamo jest prosty, ale ma kilka miejsc, które warto dobrze zrozumieć, zanim zaczniesz robić cokolwiek poważniejszego.
Po lewej stronie masz bibliotekę węzłów. To tu szukasz wszystkiego: od podstawowych operacji na liczbach, przez logikę, po specjalistyczne węzły do pracy z elementami Revita. Po prawej - canvas, czyli obszar roboczy, gdzie układasz węzły i łączysz je przewodami.
Na szkoleniu, które prowadziłem w Gdańsku dla zespołu instalacyjnego, zaczęliśmy od prostego grafu zmieniającego nazwy widoków. Po godzinie pracy każdy miał swój pierwszy działający skrypt - bez ani jednej linijki klasycznego kodu. To dobry przykład, jak szybko Dynamo „wchodzi w rękę”.
Największą siłę daje społeczność. Oprócz wbudowanej biblioteki masz całe morze dodatkowych pakietów, takich jak Clockwork, LunchBox, Springs i wiele innych. To zestawy gotowych węzłów, które rozwiązują problemy, nad którymi pojedynczy użytkownik siedziałby tygodniami. W praktyce często jest tak: najpierw sprawdzam, czy ktoś już nie zrobił tego, czego potrzebuję, zanim napiszę własne rozwiązanie.
Warto też pamiętać, że Dynamo to narzędzie całkowicie darmowe i open source. To nie jest dodatkowo płatny plugin, za który musisz wykupić kolejną subskrypcję. Cały ekosystem żyje głównie dzięki społeczności, która tworzy nowe węzły i pakiety.
Dynamo Player - automatyzacja dla reszty zespołu
Nie każdy w biurze chce i musi umieć budować grafy. I bardzo dobrze. Do tego służy Dynamo Player.
To proste okienko w Revicie, które pozwala odpalać gotowe skrypty bez otwierania edytora Dynamo. Ktoś techniczny tworzy graf, ustawia parametry wejściowe, a reszta zespołu ma do dyspozycji „przyciski”: wybierz opcję, podaj wartości, kliknij Play.
W jednym z biur, z którym współpracowałem przy projekcie szpitala w Rzeszowie, przygotowałem paczkę kilku skryptów do numeracji pomieszczeń, uzupełniania parametrów i czyszczenia modelu. Młodsi projektanci mieli je wystawione w Dynamo Playerze. Efekt był taki, że osoba, która na początku była sceptyczna wobec „całego tego BIMu”, pod koniec projektu broniła Playera jak własnego Excela.
Dynamo Player świetnie nadaje się nie tylko do modyfikowania modelu, lecz także do generowania raportów. Przykład z mojej praktyki: graf, który nie zmienia nic w projekcie, tylko czyta parametry elementów, filtruje je według ustalonych reguł i zapisuje do Excela. Potem już zwykła kontrola jakości albo analiza kosztowa.
To ważna zmiana perspektywy - Dynamo to nie wyłącznie geometria. To również hurtownia danych: odczyt, porządkowanie, zapis, kontrola standardów.
Co konkretnie automatyzować w Revicie z pomocą Dynamo
Automatyzacja ma sens tam, gdzie powtarzalność zabija czas i koncentrację. U mnie lista „pierwszej pomocy” od lat wygląda podobnie.
Pierwszy obszar to masowa edycja parametrów. Zmiana typu, klasy pożarowej, materiału czy statusu na setkach elementów? Ręcznie to koszmar. Jeden sensownie napisany graf robi to w kilka sekund, a przy okazji zapisuje log, co zostało zmienione.
Drugi - zarządzanie widokami i arkuszami. Przy jednym z projektów mieszkaniowych na warszawskim Mokotowie bez automatyzacji numeracji arkuszy i nazw widoków zwyczajnie byśmy się zakopali. Dynamo pilnowało schematu nazewnictwa i przypisywania widoków do arkuszy, a my mogliśmy skupić się na tym, czy te widoki w ogóle mają sens.
Trzeci obszar to zestawienia i raporty. Klasyczny scenariusz: model jest, ale żeby wyciągnąć sensowne dane do Excela, zaczyna się kombinowanie z eksportami, filtrami, kopiowaniem. Graf Dynamo robi to za ciebie: wybiera elementy, pobiera parametry, generuje uporządkowaną tabelę. To od razu widać przy kosztorysach i zamówieniach materiałów.
W MEP na pierwszy plan wychodzą m.in. obliczenia pomocnicze, kontrole poprawności tras, sprawdzanie średnic czy spadków według firmowych standardów. Zamiast długich checklist robionych ręcznie - graf, który przechodzi po modelu i sygnalizuje elementy odstające od standardu.
W konstrukcjach Dynamo często łączę z narzędziami do analizy. Przykładowo: reguły rozmieszczenia zbrojenia, generowanie schematów dla Robot Structural Analysis czy przygotowanie geometrii pod eksport do Advance Steel. W jednym z projektów przemysłowych skrypt generował mi siatkę słupów i belek pod konkretne rozstawy technologiczne - zmiana kilku parametrów i wariant był gotowy.
Im większa skala i im bardziej powtarzalne zadania, tym szybciej Dynamo się zwraca, nawet jeśli na początku poświęcisz trochę czasu na zbudowanie sensownych grafów.
Automatyzacja a efektywność - gdzie pojawia się realna oszczędność
Przy jednym z biurowców w Krakowie zrobiliśmy prosty eksperyment: tę samą zmianę w modelu wykonaliśmy raz ręcznie, raz przez Dynamo. Ręcznie - trzy osoby, pół dnia. Dynamo - jeden graf przygotowany w kilka godzin i uruchamiany potem w kilkadziesiąt sekund na kolejnych iteracjach. Zysk nie był więc jednorazowy, tylko powtarzalny.
Automatyzacja najbardziej uderza w błędy ludzkie. Literówki w parametrach, pomyłki w numeracji, puste pola - wszystko to, co normalnie trzeba mozolnie wyłapywać. Skrypt, jeśli jest dobrze napisany, robi to tak samo za każdym razem, bez „zjazdu formy” po kilku godzinach.
Standaryzacja danych to kolejna rzecz, która daje wymierny efekt. Z poziomu Dynamo możesz wymusić konkretne słowniki wartości, prefixy w nazwach, sposób zapisu kodów, a nawet strukturyzację parametrów pod wymagania inwestora. Koordynacja między architekturą, konstrukcją i MEP przestaje być walką o to, „jak kto nazywa rzeczy”.
Żeby pokazać skalę różnicy, zestawiłem to w prostej tabeli:
| Aspekt | Praca manualna | Automatyzacja z Dynamo |
|---|---|---|
| Czas realizacji zadania | Od kilku godzin do kilku dni | Od kilku minut do sekund |
| Możliwość optymalizacji | Fragmentaryczna, zależna od osoby | Obejmuje znaczną część codziennych zadań |
| Ryzyko błędów ludzkich | Wysokie (literówki, przeoczenia) | Niskie - ta sama logika za każdym razem |
| Standaryzacja danych | Trudna do utrzymania w dużym zespole | Wymuszana przez reguły w skryptach |
| Zarządzanie parametrami | Powolne, podatne na pomyłki | Masowe operacje z pełną kontrolą |
| Wpływ na współpracę zespołową | Ograniczony do dobrych chęci | Dane spójne między branżami |
Dynamo staje się więc nie tylko narzędziem do „przyspieszania klikania”, ale pomostem między manualną obsługą Revita a pracą opartą na danych. Tam, gdzie nie ma w zespole programistów, a jest dużo powtarzalnych operacji BIM, to jest dokładnie to brakujące ogniwo.
Wspólne skrypty w zespole - jak to poukładać, żeby działało
Największy błąd, jaki widziałem w kilku biurach, to „każdy robi swoje”. Każdy ma na dysku prywatny folder z grafami, które ratują mu życie, ale nikt poza nim nie wie, że coś takiego istnieje. Kiedy taka osoba idzie na urlop, zespół nagle odkrywa, jak dużo robiła automatyzacja.
Dlatego u siebie wprowadzam zawsze centralne repozytorium skryptów. Zwykły folder na serwerze, ale z zasadami: jasne nazwy, opis działania, informacja o tym, pod jaką wersję Revita i Dynamo graf był robiony. W jednym z biur w Poznaniu nawet przyjęliśmy prosty schemat nazewnictwa: branża_prefix_zadanie_ver.dyn - bardzo to ułatwia orientację.
Drugi filar to modularność. Zamiast jednego „magicznego” grafu robiącego wszystko, wolę kilka mniejszych, które można składać jak puzzle. Na przykład osobny graf do selekcji elementów, osobny do nadawania parametrów i osobny do raportowania. Dzięki temu łatwiej to utrzymać, testować i modyfikować.
Do dystrybucji po zespole świetnie nadaje się wspomniany wcześniej Dynamo Player. Osoba techniczna przygotowuje i testuje graf, reszta widzi go jako prostą funkcję do uruchomienia z określonymi parametrami wejściowymi. W jednym z projektów infrastrukturalnych w ten sposób rozwiązaliśmy temat aktualizacji statusów elementów - większość zespołu używała tylko Playera, a do środka grafów zaglądały dosłownie dwie osoby.
W tle trzeba mieć świadomość ograniczeń wersji. Skrypt przygotowany w nowszej wersji Dynamo potrafi sprawiać kłopoty w starszej - zdarzało mi się, że node’y z nowych pakietów były po prostu niewidoczne. Dlatego w zespołach pracujących na różnych wydaniach Revita ustalamy zawsze „najniższy wspólny mianownik” i pod tę wersję pilnujemy kluczowych grafów.
Jak sensownie wdrażać automatyzację w biurze
Wdrożenie Dynamo w biurze zaczynam zwykle od… rozmowy przy kawie. Siadamy z zespołem i spisujemy, co najbardziej ich boli w codziennej pracy. Nie „co by chcieli zautomatyzować”, tylko „co zabiera im czas i irytuje”.
W jednym z warszawskich biur instalacyjnych na liście wyszły: ręczne porządkowanie parametrów, aktualizacje zestawień i kontrola zgodności rodzin z firmowym standardem. Od tych trzech tematów zbudowaliśmy pierwsze grafy.
Dobry start to:
- małe, bardzo konkretne zadania,
- szybkie efekty, które widać „tu i teraz”,
- skrypty, które da się użyć w wielu projektach.
Kluczowa jest modularność grafów - to samo zadanie (np. standardyzacja rodzin) wykonasz w różnych projektach, jeśli nie zaszyjesz w grafie konkretnego numeru kondygnacji czy nazwy budynku. Z czasem zbierze się z tego firmowa biblioteka narzędzi.
Na jednym z projektów przemysłowych w Łodzi policzyliśmy z zespołem, że po kilku miesiącach mamy już zestaw grafów, które obejmują większą część codziennych, powtarzalnych czynności - od porządkowania danych po kontrole jakości. To nie oznacza, że wszystko da się „zrobić Dynamo”, ale bardzo wiele z tych nudnych, rutynowych kroków przestaje obciążać ludzi.
Projektowanie parametryczne i generatywne z Dynamo
Dynamo to nie tylko edycja parametrów i raporty. W momencie, gdy zaczynasz bawić się geometrią, wchodzisz na poziom projektowania parametrycznego i generatywnego.
Parametryczna geometria oznacza, że kształt nie jest „na sztywno”, tylko zależy od zestawu parametrów. Zmieniasz rozstaw, wysokość, kąt - a model sam się dostosowuje. Przy fasadach, klatkach schodowych, układach konstrukcyjnych albo instalacjach o powtarzalnym rytmie, takie podejście potrafi skrócić czas pracy o rząd wielkości.
Kiedy kilka lat temu pracowałem nad nieregularną fasadą budynku usługowego pod Wrocławiem, standardowy Revit po prostu się dusił przy każdej zmianie siatki podziałów. Dopiero przełożenie geometrii na Dynamo i sterowanie jej parametrami dało możliwość sensownego iterowania pomiędzy wariantami.
Osobnym tematem jest Generative Design dostępny w ramach AEC Collection. To narzędzie, które łączy się z Dynamo i pozwala określić wiele celów jednocześnie (np. powierzchnia użytkowa, nasłonecznienie, długość instalacji) i generuje setki wariantów spełniających zadane kryteria. Zamiast ręcznie „klikać” każdy wariant, definiujesz zasady, a system pomaga znaleźć rozsądne kombinacje.
Dzięki temu możesz w krótkim czasie przetestować różne układy instalacji MEP, siatki słupów czy warianty podziału kondygnacji. Parametryczny model daje się łatwo aktualizować, więc reagowanie na uwagi inwestora albo zmiany technologiczne nie oznacza zaczynania wszystkiego od nowa.
Gdzie kończy się Dynamo, a zaczyna API i własne pluginy
Dynamo ma swoje granice. Przy bardzo dużych modelach i złożonych obliczeniach pojawia się kwestia wydajności. Graf, który na małym projekcie działa w kilka sekund, na wielkiej galerii handlowej potrafi mielić model minutami.
W takich momentach patrzę w stronę Revit API i klasycznego programowania. Dynamo nadal bywa świetnym „laboratorium” do przetestowania logiki, ale jeśli wiesz, że dane zadanie będzie masowo wykorzystywane i wymaga maksymalnej wydajności, często opłaca się napisać dedykowany plugin.
Pośrednim krokiem jest Python wewnątrz Dynamo. Wstawiasz Python Script node, piszesz własny kod i nagle okazuje się, że możesz sięgać po operacje, których w standardowych węzłach po prostu nie ma. To dotyczy zwłaszcza integracji z zewnętrznymi systemami, bardziej zaawansowanych operacji na danych czy niestandardowych logik wyszukiwania i filtrowania.
Przy jednym z projektów konstrukcyjnych na Śląsku logika zbrojenia była na tyle specyficzna, że węzły społecznościowe nie wystarczały. Zastosowałem więc Python w Dynamo, żeby korzystać bardziej bezpośrednio z API Revita. Gdy okazało się, że ten sam mechanizm będziemy stosować w kolejnych projektach, powstał z tego pełnoprawny plugin, który nie potrzebuje już Dynamo do działania.
Czy trzeba umieć programować, żeby korzystać z Dynamo
To pytanie słyszę na każdym szkoleniu. Odpowiedź z mojego doświadczenia jest prosta: na start - nie.
Dynamo to środowisko programowania wizualnego. Zamiast pisać kod, układasz węzły reprezentujące funkcje i dane, a przewody określają, jak informacja płynie przez cały proces. Uczysz się logiki przepływu, a nie składni języka.
Kilka lat temu na warsztatach w Szczecinie pracowałem z grupą architektów, z których nikt nie miał wcześniej styczności z programowaniem. Po jednym dniu warsztatów mieli własne działające grafy: numeracja pomieszczeń, porządkowanie nazw widoków, prosty raport z parametrów drzwi. Bez ani jednej linijki Pythona.
Znajomość programowania staje się przydatna dopiero wtedy, gdy chcesz robić rzeczy naprawdę niestandardowe: głęboka integracja z API, komunikacja z bazami danych, wymiana danych z systemami zewnętrznymi. Wtedy Python w Dynamo albo własny plugin to naturalna droga rozwoju.
Na co dzień jednak większość problemów, z którymi przychodzą do mnie projektanci, da się rozwiązać grafami złożonymi ze standardowych węzłów i kilku popularnych pakietów. Warunek jest jeden: trzeba myśleć procesem. Zastanowić się nie „jak to kliknąć”, tylko „jakie kroki wykonuję po kolei i jakie dane mi są potrzebne”.
Kilka słów na koniec
Z perspektywy inżyniera, który spędził tysiące godzin w Revicie, mogę powiedzieć jedno: Dynamo świetnie wypełnia lukę między „gołym” Revitem a pełnym programowaniem pod API. Umożliwia automatyzację tam, gdzie do tej pory było tylko klikanie.
Od czasu, gdy stało się częścią instalacji Revita, bariera wejścia wyraźnie się obniżyła. Nie zniknęły problemy z wersjami pakietów i node’ów, ale dziś łatwiej po prostu „zacząć”.
Jeżeli masz w projektach dużo powtarzalnych czynności, a w zespole brakuje programistów, Dynamo jest jednym z najrozsądniejszych kierunków rozwoju. A dobrze zaprojektowany graf, który „robi za ciebie brudną robotę”, docenia się zwykle najbardziej w piątek po południu, kiedy zamiast poprawiać parametry na dwusetnym arkuszu, możesz wreszcie zamknąć Revita o normalnej godzinie.
Eyecad.pl