Wysokowydajna kompresja Draco dla BIM: geometria, atrybuty i potok — podstawy BIM w skali sieci
Ekosystem produktów: Draco w cyklu życia kompresji
Kompresja Draco działa w ramach ściśle trzyetapowego procesu w ekosystemie 3D Expert: ekstrakcja, odciążanie i renderowanie. Kluczowe jest zrozumienie, który produkt pełni daną rolę — 3D/BIM Pl.IIn wyodrębnia dane z formatów natywnych, ale NIE wykonuje kompresji. Kompresja Draco i wszystkie operacje odciążania są obsługiwane przez Opt File Generator i 3D Model & Data Asst. Oto, w jaki sposób produkty uczestniczą w cyklu życia kompresji:
- Wtyczka 3D/BIM — TYLKO etap ekstrakcji. Natywne dodatki eksportowe dla 9 platform CAD/BIM (Revit, Bentley, Tekla, Rhino, Navisworks, Solidworks, Inventor, Siemens). Nx, PTC Creo), zbudowane w oparciu o oficjalne API dostawców. Wtyczka wyodrębnia geometrię (jako obiekty siatki), materiały, hierarchię drzewa struktur i dane atrybutów z zastrzeżonych formatów (.rvt, .dgn itp.) bez utraty danych. Dane wyjściowe: pośredni plik GLZIP (nieskompresowana geometria) oraz plik DB (atrybuty w SQLite). Wtyczka NIE wykonuje kompresji Draco, upraszczania siatki, generowania LOD ani żadnego odciążania — jej jedynym zadaniem jest bezstratna ekstrakcja z formatów natywnych.
- Generator plików Opt — silnik odchudzający. Pobiera pośrednie pliki GLZIP (z wtyczki 3D/BIM) lub formaty otwarte/standardowe (IFC, FBX, STEP, STL, IGES, RVM, OBJ itp.) i stosuje pełną procedurę odchudzenia: kompresję Draco z konfigurowalną kwantyzacją, optymalizację siatki, generowanie poziomu szczegółowości (LOD) oraz pakowanie atrybutów w bazie danych. Operatorzy wybierają spośród predefiniowanych profili, takich jak „Web Streaming (agresywny)”, „Engineering Review (zrównoważony)” lub „Archival (konserwatywny)” — każdy z nich definiuje określone poziomy kwantyzacji i tryby kodowania. Zoptymalizowany pod kątem przetwarzania wsadowego z rejestrowaniem audytu. Dane wyjściowe: pliki .Opt.
- 3D Model & Data Asst — pełni podwójną rolę: (1) jako lekki silnik z takimi samymi możliwościami kompresji Draco jak Opt File Generator (obsługuje pośrednie formaty GLZIP lub otwarte, stosuje kompresję Draco, LOD i optymalizację siatki) oraz (2) jako przeglądarka offline dla finalnych skompresowanych plików GLZIP lub formatów otwartych/standardowych (IFC, FBX, STEP, STL, IGES, RVM, OBJ itp.) z pełnym zapytaniem o właściwości. Ponieważ dekompresja jest obciążona procesorem i działa natywnie (a nie w piaskownicy WASM przeglądarki), wydajność komputerów stacjonarnych w przypadku bardzo dużych modeli może znacznie przewyższać wydajność stron internetowych.
- Rapid3D Loader dla Three.js — etap renderowania w sieci. Pakiet npm (opt-rapid3d-loader) osadza dekoder Draco WebAssembly, który dekompresuje finalne, skompresowane strumienie geometrii pliku Opt w locie. Dekompresja działa w Web Workers, poza głównym wątkiem, i przekazuje obiekty siatki Three.js bezpośrednio do grafu sceny. Loader obsługuje progresywną dekompresję fragmentów — nie potrzebuje całego pliku przed rozpoczęciem renderowania. Loader pobiera pliki Opt;
Krótko mówiąc: wtyczka wyodrębnia dane z formatów natywnych (bez kompresji). Generator plików Opt i 3D Model & Data Asst wykonują kompresję Draco i wszelkie odchudzenia. Loader dekompresuje dane w przeglądarce za pomocą WASM. Aplikacja desktopowa może zarówno kompresować (tryb odchudzenia), jak i dekompresować (tryb przeglądania). Dane atrybutów w pliku bazy danych nigdy nie są kompresowane przez Draco — pozostają w formacie SQLite dla zapytań milisekundowych.
────────────────────────────────────────────────────────────
16 możliwości — mapowanych na produkt
Domena 1: Podstawy kompresji — jak Draco działa pod maską
Google Draco, udostępniony jako oprogramowanie open source w 2017 roku, został pierwotnie stworzony do kompresji zasobów 3D na potrzeby renderowania mobilnego i internetowego. Jego główna innowacja opiera się na dwóch uzupełniających się algorytmach: jednym dla łączności siatki (topologia) i drugim dla pozycji wierzchołków (geometria). Zrozumienie tych dwóch algorytmów jest kluczowe dla podejmowania świadomych decyzji dotyczących kwantyzacji danych BIM. Uwaga: kompresja Draco w procesie 3D Expert jest realizowana przez Opt File Generator i 3D Model & Data Asst, a nie przez wtyczkę 3D/BIM, która zajmuje się wyłącznie ekstrakcją.
- Kodowanie łączności Edgebreaker — topologia niemal bezstratna
Domyślny tryb kodowania siatki w programie Draco wykorzystuje algorytm Edgebreaker, który przemierza siatkę trójkątów i rejestruje sekwencję operacji topologicznych (polecenia C, L, E, R, S), opisujących sposób, w jaki każdy nowy trójkąt łączy się z istniejącą powierzchnią. Pozwala to na uzyskanie kodowania połączeń siatki bliskiego entropii — relacje między wierzchołkami, krawędziami i ścianami są kodowane w ułamku przestrzeni wymaganej przez jawny bufor indeksów. W przypadku modeli BIM oznacza to, że topologia strukturalna (które belki łączą się z którymi słupami, które segmenty rur tworzą ciąg) jest zachowana praktycznie bez strat. Sekwencja Edgebreaker jest następnie kodowana entropijnie (zakresowo) w celu dodatkowej redukcji rozmiaru.
- Obsługiwane przez: Opt File Generator i 3D Model & Data Asst (kodowanie Edgebreaker podczas odchudzania) → Rapid3D Loader dla Three.js (rekonstrukcja łączności w czasie wykonywania)
- Kwantyzacja pozycji drzewa KD — konfigurowalna precyzja
Pozycje wierzchołków stanowią największy kanał danych w dowolnym modelu BIM. Draco nie przechowuje pełnych 32-bitowych współrzędnych zmiennoprzecinkowych. Zamiast tego buduje drzewo KD na chmurze punktów, rekurencyjnie dzieląc wzdłuż najdłuższej osi, i kwantyzuje każdą pozycję wierzchołka do konfigurowalnej głębokości bitowej. Przy kwantyzacji 16-bitowej pozycje są kodowane z 65 536 dyskretnymi poziomami na oś – co wystarcza dla precyzji inżynierskiej. Przy kwantyzacji 11-bitowej (2048 poziomów) plik jest jeszcze mniejszy, ale małe elementy geometryczne mogą wykazywać widoczne fasetowanie. Narzędzia do odciążania 3D Expert (Generator plików Opt i Asystent modelu i danych 3D) udostępniają to jako ustawienie dla każdego pliku: „Position Quantization Bits (11–16)”, domyślnie 14 dla BIM – idealne ustawienie, w którym rozmiar pliku spada 8–10-krotnie bez zauważalnej utraty jakości w typowej geometrii AEC.
- Obsługiwane przez: Opt File Generator i 3D Model & Data Asst (konfiguracja kwantyzacji KD-tree) → Rapid3D Loader dla Three.js (dekwantyzacja w dekoderze WASM)
- Tryb kodowania sekwencyjnego — dla chmur nierozmaitościowych i chmur punktów
Nie każda geometria BIM to czysta siatka trójkątów. Chmury punktów ze skanów laserowych, krawędzie nierozmaitościowe ze słabo wymodelowanych brył oraz elementy 2D (ciągi linii, adnotacje) nie pasują do modelu przechodzenia Edgebreaker. Sekwencyjny tryb kodowania programu Draco obsługuje takie przypadki: przechowuje dane wierzchołków w kolejności zgodnej z kodowaniem delta i schematami predykcji, bez konieczności stosowania topologii przechodniej. Silnik odciążający 3D Expert automatycznie wykrywa geometrię nierozmaitościową i przełącza się na tryb sekwencyjny dla każdej podsiatki — operator nie musi jej ręcznie oznaczać.
- Obsługiwane przez: Opt File Generator i 3D Model & Data Asst (automatyczny wybór trybu podczas odchudzania) → Rapid3D Loader dla Three.js (dekoder trybu podwójnego)
Domena 2: Atrybuty i obsługa materiałów
Modele BIM zawierają znacznie więcej niż tylko pozycje trójkątów. Normalne wierzchołków, współrzędne tekstur, kolory wierzchołków i identyfikatory materiałów to kanały atrybutów, które Draco może kompresować niezależnie. Kluczem jest zrozumienie, które atrybuty tolerują agresywną kwantyzację, a które nie. Cała kompresja atrybutów jest wykonywana na etapie odciążania przez Generator Plików Opt oraz Asystenta Modelu i Danych 3D.
- Prognoza równoległoboku dla normalnych wierzchołków
Normalne wierzchołków określają interakcję światła z powierzchniami — są one kluczowe dla realizmu wizualnego. Draco stosuje schemat predykcji równoległoboku: dla każdego nowego wierzchołka dekoder przewiduje jego normalną na podstawie normalnych sąsiednich wierzchołków na tej samej ścianie, a następnie przechowuje tylko resztkę predykcji. Jest to znacznie bardziej wydajne niż przechowywanie absolutnych wektorów normalnych. Reszta jest następnie kwantyzowana do konfigurowalnej głębokości bitowej (8–12 bitów). Przy kwantyzacji 10-bitowej (domyślnej dla BIM) jakość oświetlenia jest wizualnie nieodróżnialna od nieskompresowanych normalnych, podczas gdy kanał normalny kurczy się około 5-krotnie. Właśnie dlatego modele BIM skompresowane przez Draco zachowują swój fizyczny wygląd materiału — wierność oświetlenia, dzięki której stal wygląda jak stal, a beton jak beton, jest zachowana.
- Obsługiwane przez: Opt File Generator i 3D Model & Data Asst (normalna predykcja i kwantyzacja podczas odchudzenia) → Rapid3D Loader dla Three.js (normalna rekonstrukcja)
- Profile kwantyzacji wieloatrybutowej
Różne kanały atrybutów mają różne progi tolerancji dla kwantyzacji. Współrzędne pozycji wymagają 14–16 bitów dla precyzji inżynierskiej. Normalne wierzchołków tolerują 10 bitów. Współrzędne tekstury (UV) mogą spaść do 12 bitów bez widocznego migotania tekstury. Kolory wierzchołków są dopuszczalne przy 8 bitach na kanał. Generator plików Opt i 3D Model & Data Asst udostępniają wszystkie te parametry jako niezależne, a Generator plików grupuje je w nazwane profile: „Web Streaming” (pozycja 13, normalny 8, UV 10, kolor 8), „Engineering Review” (pozycja 15, normalny 10, UV 12, kolor 8) i „Archival” (pozycja 16, normalny 12, UV 14, kolor 8). Ta granularność dla każdego kanału pozwala temu samemu modelowi źródłowemu na generowanie lekkiego podglądu internetowego i pełnej wierności przeglądu inżynierskiego z tego samego potoku danych.
- Obsługiwane przez: Opt File Generator (wstępnie ustawione profile z kwantyzacją dla każdego atrybutu) i 3D Model & Data Asst (interaktywna konfiguracja kwantyzacji)
- Separacja geometrii i atrybutów — plik bazy danych pozostaje nieskompresowany
To prawdopodobnie najważniejsza decyzja architektoniczna w integracji Draco w 3D Expert. Geometria (wierzchołki, ściany, normalne, UV, kolory) jest kompresowana przez Draco w pliku GLZIP na etapie odciążania. Jednak profesjonalne dane atrybutów — identyfikatory komponentów, relacje hierarchiczne, klasy materiałów, daty instalacji, właściwości niestandardowe — są zapisywane w oddzielnym pliku bazy danych w standardowym formacie SQLite. Ten plik bazy danych nigdy nie jest kompresowany przez Draco. Powód jest prosty: Draco jest kodekiem geometrii, a nie silnikiem bazy danych. Zapytania o atrybuty muszą zwracać wyniki w milisekundach, z losowym dostępem do dowolnego rekordu. SQLite zapewnia indeksowane wyszukiwania B-tree; Draco zapewnia sekwencyjną dekompresję strumienia. Dzięki ich oddzieleniu, 3D Expert gwarantuje, że kliknięcie komponentu w przeglądarce uruchomi bezpośrednie zapytanie do bazy danych — dekompresja geometrii nie jest wymagana do odczytu danych właściwości.
- Obsługiwane przez: 3D/BIM Plugin (ekstrakcja: geometria + atrybuty z formatów natywnych) → Generator plików Opt / 3D Model & Data Asst (geometria → skompresowany Draco GLZIP, atrybuty → nieskompresowana baza danych) → Rapid3D Loader dla Three.js (dekodowanie geometrii + zapytanie do bazy danych) i 3D Model & Data Asst (zapytanie do bazy danych offline)
Domena 3: Integracja potoków — glTF, WASM i strumieniowanie
Kompresja Draco jest użyteczna tylko wtedy, gdy jest płynnie zintegrowana ze standardami internetowymi i frameworkami renderującymi. Integracja 3D Expert obejmuje trzy kluczowe warstwy: format pliku (zgodność z rozszerzeniem glTF, generowana przez narzędzia do redukcji obciążenia), dekoder (wydajność WebAssembly w Loaderze) oraz strategię ładowania (progresywne przesyłanie strumieniowe w Loaderze).
- Zgodność z rozszerzeniem KHR_draco_mesh_compression
Pliki GLZIP wykorzystują strukturę kontenera zgodną z glTF, a kompresja Draco jest stosowana za pośrednictwem standardowego rozszerzenia KHR_draco_mesh_compression na etapie odciążania. Oznacza to, że skompresowana geometria jest przechowywana w dedykowanych widokach bufora (bufferViews) z metadanymi opisującymi ustawienia kompresji (bity kwantyzacji, metodę kodowania). Każde narzędzie zgodne z glTF, które obsługuje to rozszerzenie, może odczytać skompresowane bufory. 3D Expert wybrał zgodność z glTF zamiast w pełni zastrzeżonego kontenera, aby zapewnić interoperacyjność — pliki GLZIP nie są przypisane do dekodera jednego dostawcy.
- Obsługiwane przez: Opt File Generator i 3D Model & Data Asst (skompresowany plik wyjściowy GLZIP zgodny ze standardem glTF) → Rapid3D Loader dla Three.js (parser obsługujący rozszerzenia)
- Kompresja na komponent — zachowane drzewo strukturalne
Naiwna implementacja Draco kompresuje cały model do postaci pojedynczego bloku siatki – spłaszczając hierarchię BIM do niezróżnicowanej masy trójkątów. Silnik odciążający 3D Expert kompresuje geometrię dla każdego komponentu (dla każdego identyfikatora elementu), zachowując pełne drzewo struktury: Odniesienie → Poziom → Element. Każdy komponent staje się niezależnie adresowalnym, skompresowanym fragmentem w pliku GLZIP. To właśnie umożliwia programowi Rapid3D Loader wyświetlanie/ukrywanie, kolorowanie lub izolowanie poszczególnych komponentów w czasie wykonywania – granice komponentów pozostają nienaruszone w skompresowanych danych i nie są rekonstruowane po dekompresji.
- Obsługiwane przez: Opt File Generator i 3D Model & Data Asst (kompresja Draco na poziomie komponentu podczas odchudzania) → Rapid3D Loader dla Three.js (wykres sceny na poziomie komponentu)
- Dekoder WebAssembly — prędkość dekompresji zbliżona do natywnej
Rapid3D Loader osadza kompilację dekodera Draco w języku WebAssembly (około 200 KB, skompilowaną ze źródła Google C++). Prędkość wykonywania kodu WASM jest zazwyczaj 1,5–2 razy wolniejsza niż w przypadku kodu natywnego – co jest pomijalnym ograniczeniem, biorąc pod uwagę, że dekompresja jest wykonywana w Web Workers równolegle z renderowaniem. Na nowoczesnej stacji roboczej dekoder Draco WASM osiąga przepustowość 20–50 milionów trójkątów na sekundę. Dla porównania, skompresowany model BIM o rozmiarze 500 MB, zawierający 5 milionów trójkątów, dekompresuje się w czasie krótszym niż 250 milisekund. Użytkownik odczuwa natychmiastowy wygląd modelu, a nie opóźnienie dekompresji.
- Obsługiwane przez: Rapid3D Loader dla Three.js (dekoder WASM Draco w Web Workers)
- Progressive Chunk Streaming — pierwszy obraz przed pełnym pobraniem
Rapid3D Loader nie czeka na pobranie całego pliku GLZIP przed rozpoczęciem renderowania. Ponieważ geometria jest kompresowana dla każdego komponentu (funkcja 8) i przechowywana w sekwencyjnych fragmentach, moduł ładujący może rozpocząć dekompresję i renderowanie pierwszego fragmentu, podczas gdy kolejne są jeszcze pobierane. Dzięki temu progresywnemu strumieniowaniu użytkownik widzi częściowo wyrenderowany model w ciągu kilku sekund — struktury pojawiają się i wypełniają w miarę napływu danych. W przypadku modelu o rozmiarze 2 GB i łączu 50 Mb/s, pierwsze malowanie następuje w niecałe 5 sekund, a pełny model materializuje się w ciągu kolejnych 30–60 sekund. Doświadczenie to jest bliższe buforowaniu w serwisie YouTube niż tradycyjnemu pobieraniu pliku.
- Obsługiwane przez: Rapid3D Loader dla Three.js (progresywny moduł ładowania fragmentów i strumieniowy dekoder WASM)
Domena 4: Wpływ na wydajność — jak wyglądają liczby
Kompresja Draco zapewnia mierzalne i wymierne korzyści w trzech obszarach, które są istotne dla każdej aplikacji webowej 3D: ładowności pobierania, wydajności pamięci podręcznej przeglądarki oraz zużycia pamięci VRAM w czasie wykonywania. Oto, co pokazują dane dla typowych modeli BIM — kompresja wykonywana przez Opt File Generator / 3D Model & Data Asst, renderowana przez Rapid3D Loader.
- Współczynnik kompresji 10:1+ w typowej geometrii BIM
W reprezentatywnym korpusie testowym 50 modeli BIM (architektura Revit, infrastruktura lądowa Bentley, modele koordynacyjne Navisworks), kompresja Draco przy domyślnym profilu Engineering Review (pozycja 15-bitowa, normalna 10-bitowa) osiąga średni współczynnik kompresji geometrii 10,5:1. Nieskompresowany ładunek geometrii o rozmiarze 1,2 GB osiąga rozmiar około 114 MB. W profilu Web Streaming (pozycja 13-bitowa, normalna 8-bitowa) współczynnik poprawia się do 15:1–18:1, z kompromisem w postaci lekko widocznego fasetowania na powierzchniach zakrzywionych. Kanał geometrii zazwyczaj stanowi 70–85% całkowitego rozmiaru modelu, więc nawet zachowawczy współczynnik 10:1 dla samej geometrii zmniejsza całkowity rozmiar pliku 7–8-krotnie. Dane dotyczące tekstur i materiałów (obsługiwane przez osobną kompresję, a nie przez Draco) zazwyczaj stanowią pozostałe 15–30%.
- Obsługiwane przez: Opt File Generator i 3D Model & Data Asst (kompresja Draco podczas odciążania) → Rapid3D Loader dla Three.js (rozpakowana geometria dostarczona do sceny Three.js)
- Wydajność pamięci podręcznej przeglądarki — 10 razy więcej modeli na sesję
Nowoczesne przeglądarki przydzielają 50–500 MB miejsca na dysku dla każdego źródła na pamięć podręczną HTTP (w zależności od ustawień użytkownika i dostępnego dysku). Nieskompresowany model BIM o rozmiarze 1,2 GB w ogóle nie mieści się w pamięci podręcznej — każde przeładowanie strony powoduje ponowne pobranie całego pliku. Przy rozmiarze 114 MB (skompresowany przez Draco) ten sam model bez problemu mieści się w pamięci podręcznej, a 3–4 różne modele mogą współistnieć. W przypadku cyfrowego bliźniaka, który ładuje wiele modeli obiektów, zmienia to doświadczenie użytkownika: powracający użytkownicy otrzymują natychmiastowe załadowanie modelu z pamięci podręcznej, a koszty przepustowości spadają proporcjonalnie. W sieciach komórkowych lub ograniczonych sieciach WAN przedsiębiorstw różnica między pobraniem 1,2 GB a pobraniem 114 MB to różnica między „użytecznością” a „ulepszeniem sieci”.
- Obsługiwane przez: Rapid3D Loader dla Three.js (ładowanie HTTP z uwzględnieniem pamięci podręcznej i obsługą żądań zakresu)
- Optymalizacja pamięci VRAM — dekompresja na żądanie zmniejsza szczytowe zużycie pamięci
Bez Draco, cała nieskompresowana geometria musi znajdować się w buforach wierzchołków GPU przez cały czas trwania sesji. Ładunek geometrii o rozmiarze 1,2 GB zużywa 1,2 GB pamięci VRAM tylko na dane wierzchołków — przed teksturami, przed buforem klatek, przed własnym narzutem przeglądarki. Na GPU o pojemności 4 GB nie pozostawia to prawie żadnego marginesu bezpieczeństwa. Dzięki progresywnemu podejściu strumieniowania 3D Expert (funkcja 10), tylko aktualnie widoczne fragmenty są dekompresowane i przesyłane do pamięci VRAM. Gdy kamera się porusza i potrzebne są nowe fragmenty, odległe fragmenty są usuwane. Szczytowe użycie pamięci VRAM na geometrię spada zazwyczaj do 15–25% całkowitej nieskompresowanej pamięci, ponieważ tylko ułamek modelu znajduje się w polu widzenia kamery w danym momencie. To właśnie pozwala modelom klasy 10 GB działać na konsumenckich procesorach graficznych bez błędów braku pamięci.
- Obsługiwane przez: Rapid3D Loader dla Three.js (usuwanie fragmentów z uwzględnieniem ściętego stożka i dekompresja WASM na żądanie)
────────────────────────────────────────────────────────────
Przewodnik po wyborze profilu kompresji
Kompresja Draco nie jest binarnym przełącznikiem włącz/wyłącz. Wybrane ustawienia zależą od celu dostawy, charakterystyki geometrii i wymagań jakościowych. Wszystkie poniższe profile są stosowane w Generatorze Plików Opt lub Asystencie Modelu i Danych 3D na etapie odciążania, a nie we wtyczce 3D/BIM, która obsługuje jedynie ekstrakcję. Oto praktyczny przewodnik:
- Cyfrowy bliźniak w wersji internetowej czy panel kontrolny obiektu o umiarkowanej wierności wizualnej?→ Użyj profilu Web Streaming (pozycja 13-bitowa, normalna 8-bitowa, UV 10-bitowa). Oczekiwana kompresja: 15:1–18:1. Akceptowalna dla większości modeli infrastruktury i instalacji, w których użytkownicy przeglądają dane ze średniej odległości i nie mierzą tolerancji krawędzi.
- Przegląd techniczny lub koordynacja budowy wymagająca precyzyjnej geometrii?→ Użyj profilu Engineering Review (pozycja 15 bitów, normalny 10 bitów, UV 12 bitów). Oczekiwana kompresja: 8:1–10:1. Geometria fasetowania jest poniżej progu percepcji wizualnej dla większości geometrii AEC. Nadaje się do wizualizacji wykrywania kolizji i przeglądu projektu.
- Archiwum lub dokumentacja prawna, w której nie są dopuszczalne żadne odchylenia geometryczne?→ Użyj profilu archiwalnego (pozycja 16-bitowa, normalna 12-bitowa, UV 14-bitowa). Oczekiwana kompresja: 4:1–6:1. Przy 16-bitowej kwantyzacji pozycji maksymalne odchylenie jest ograniczone przez pole ograniczające modelu podzielone przez 65 536 — zazwyczaj poniżej milimetra w przypadku modeli w skali budynku.
- Mieszane rezultaty (podgląd w sieci + przegląd inżynieryjny z tego samego źródła)?→ Dwukrotnie zmniejsz wagę z różnymi profilami w Generatorze Plików Opt lub użyj sprzężenia LOD z kwantyzacją (funkcja 14), aby wygenerować pojedynczy plik GLZIP z wieloma poziomami LOD, w którym każdy poziom LOD ma własne ustawienia kwantyzacji. Moduł Rapid3D Loader automatycznie przesyła odpowiedni poziom LOD na podstawie odległości kamery.
- Modele o mocno zakrzywionej geometrii (rury, zbiorniki, łopatki turbin)?→ Unikaj kwantyzacji pozycji poniżej 14 bitów. Powierzchnie zakrzywione wykazują artefakty fasetowania wcześniej niż powierzchnie płaskie przy tej samej głębokości bitowej. Jeśli model jest zdominowany przez geometrię zakrzywioną, użyj profilu Engineering Review lub Archival, nawet w przypadku prezentacji internetowej.
────────────────────────────────────────────────────────────
Wniosek: Kompresja to fundament, a nie sufit
Kompresja Draco stanowi fundament BIM w skali sieci. Bez niej wielogigabajtowe modele inżynieryjne po prostu nie docierają do przeglądarki – czas pobierania, limity pamięci podręcznej i limity pamięci VRAM w sprzęcie konsumenckim sprawiają, że nieskompresowane dostarczanie danych jest niemożliwe. Jednak sam Draco nie wystarczy. Kodek geometryczny, który spłaszcza drzewo strukturalne, usuwa dane atrybutów lub wymaga przesyłania danych w obie strony do chmury, jest bezużyteczny dla BIM – rozwiązuje problem rozmiaru, tworząc problem z danymi.
Firma 3D Expert Co.,Ltd. stworzyła integrację Draco, która respektuje pełny model danych BIM. Wtyczka 3D/BIM bezstratnie wyodrębnia geometrię i atrybuty z formatów natywnych — bez kompresji i utraty danych. Generator plików Opt i 3D Model & Data Asst stosują następnie kompresję Draco dla każdego komponentu, zachowując hierarchię. Atrybuty pozostają w nieskompresowanej bazie danych SQLite, co pozwala na tworzenie zapytań.
To jest artykuł 1 z naszej serii poświęconej uproszczeniu modelu BIM. W kolejnych artykułach omówimy algorytmy zachowania drzewa strukturalnego, projektowanie bazy danych atrybutów dla zapytań internetowych, obsługę współrzędnych GIS w infrastrukturze o dużej rozpiętości oraz kompletną architekturę strumieniowania LOD. Każdy artykuł będzie oparty na tym samym schemacie: szczegółowe informacje techniczne, powiązane z konkretnym produktem, który oferuje daną funkcjonalność.
────────────────────────────────────────────────────────────
O firmie
Firma 3D Expert Co.,Ltd. z siedzibą w Osace w Japonii opracowuje wydajne oprogramowanie 3D/BIM dla globalnego sektora AEC i produkcji przemysłowej. Nasz format GLZIP integruje kompresję Google Draco z zastrzeżoną warstwą bazy danych atrybutów, umożliwiając strumieniowanie i renderowanie wielogigabajtowych modeli BIM w standardowych przeglądarkach internetowych. Nasze portfolio produktów składa się z trzech etapów:
- Wtyczka 3D/BIM — natywne dodatki eksportowe dla 8 platform CAD/BIM (Revit, Bentley, Tekla, Navisworks, Solidworks, Inventor, PDMS, SP3D). Umożliwia bezstratną ekstrakcję geometrii, materiałów, drzew strukturalnych i atrybutów z formatów natywnych do GLZIP. NIE wykonuje kompresji ani odciążania.
- Generator plików Opt — lekki silnik desktopowy. Wykorzystuje pośrednie formaty GLZIP (z wtyczki) lub otwarte formaty (IFC, FBX, STEP itp.) i stosuje kompresję Draco, generowanie LOD oraz optymalizację siatki z predefiniowanymi profilami i rejestrowaniem audytu, generując pliki .Opt.
- 3D Model & Data Asst — natywna aplikacja desktopowa dla systemu Windows. Działa zarówno jako lekki silnik (z takimi samymi możliwościami kompresji jak w Opt File Generator), jak i przeglądarka offline skompresowanych plików GLZIP lub otwartych formatów (IFC, FBX, STEP itp.) z pełnym zapytaniem o właściwości.
- Rapid3D Loader dla Three.js — pakiet npm (opt-rapid3d-loader) z wbudowanym dekoderem WASM Draco, progresywnym strumieniowaniem fragmentów i interfejsami API umożliwiającymi pełną interakcję. Ładuje finalny skompresowany plik .Opt do scen Three.js.
Dowiedz się więcej lub rozpocznij bezpłatny okres próbny na stronie https://www.opt3ds.com/
Kontakt: info@3dexpert.jp
© 2010–2026 3D Expert Co.,Ltd. Wszelkie prawa zastrzeżone.

