
AirCAD Viewer
Przeglądarka modeli 3D/CAD sterowana myszą, klawiaturą i gestami dłoni z kamery laptopa.
Lokalna przeglądarka dla Windows obsługująca STEP, STP, OBJ, GLB, GLTF, STL i PLY. Całe przetwarzanie — rendering, import CAD i rozpoznawanie dłoni — działa w 100% lokalnie, bez chmury. Pinch kciukiem i palcem wskazującym chwyta model, ruch dłoni obraca nim tak, jakby leżał w ręce.
Po lewej dłoń wykonuje pinch i przesuwa się w bok, po prawej model obraca się dokładnie w tym rytmie — bo ruch dłoni jest mapowany na kąt obrotu kamery. Wskaźnik stanu pod dłonią przechodzi READY → GRAB → RELEASE. Kiedy palce się rozwierają, model zatrzymuje się w bieżącej pozycji zamiast wracać do wyjściowej; to najważniejsza różnica między sterowaniem gestem a myszą.
PROBLEM
Oglądanie modelu CAD wymaga albo ciężkiego programu inżynierskiego, albo wysłania pliku do przeglądarki internetowej. Pierwsze jest kosztowne i wolne przy prostym „pokaż, jak to wygląda”, drugie oznacza wypuszczenie dokumentacji technicznej na zewnątrz.
POMYSŁ
Lekka przeglądarka lokalna z jednym dodatkiem, który ma sens w warsztacie: sterowanie gestami. Przy stanowisku, na którym ma się brudne albo zajęte ręce, obrócenie modelu bez dotykania myszy nie jest gadżetem.
PROJEKT
Import CAD i teselacja są oddzielone od renderowania, a struktura pliku trafia do drzewa części — kliknięcie w model podświetla element i zaznacza go w drzewie, i odwrotnie.
Rozpoznawanie dłoni działa na modelu ONNX o rozmiarze około ośmiu megabajtów, pobieranym jednorazowo przy instalacji. Kluczowa decyzja projektowa dotyczy jednak nie detekcji, lecz semantyki gestu: otwarta dłoń nie porusza modelem. Dopiero pinch oznacza chwyt, a rozwarcie palców — puszczenie.
Bez tego rozróżnienia model reagowałby na każdy ruch ręki w kadrze, co jest nie do wytrzymania po minucie pracy.
Import STEP jest osobnym problemem: format opisuje geometrię w postaci brzegowej (BRep), a karta graficzna potrzebuje trójkątów. Teselacja musi być dostatecznie gęsta, żeby krzywizna wyglądała gładko, i dostatecznie rzadka, żeby model o kilkudziesięciu tysiącach ścian dawał się obracać płynnie.
REALIZACJA
Instalator sprawdza Pythona, tworzy środowisko, wykrywa GPU NVIDIA i opcjonalnie instaluje wersję ONNX z akceleracją, pobiera model dłoni i uruchamia self-test. Diagnostykę można powtórzyć w każdej chwili osobnym poleceniem.
Dostępne są cztery tryby sterowania gestem: orbita, arcball w powietrzu, odwzorowanie orientacji dłoni na orientację modelu przez kwaterniony oraz obrót wokół wybranej osi. Dwie dłonie z pinchem sterują powiększeniem.
Cztery tryby nie powstały z zamiłowania do opcji, tylko z testów. Orbita jest najbardziej przewidywalna i została domyślną. Odwzorowanie orientacji dłoni na kwaterniony wygląda najbardziej efektownie, ale wymaga wprawy. Tryb osi jest najlepszy przy precyzyjnym ustawianiu widoku do zrzutu ekranu.
Instalator ma jedną cechę wartą naśladowania: kończy się self-testem, a nie komunikatem „gotowe”. Środowisko z brakującą biblioteką graficzną albo niedziałającą kamerą zgłasza problem od razu, zamiast przy pierwszej próbie otwarcia modelu.
EFEKT
Model wczytuje się i obraca płynnie, a gesty działają na zwykłej kamerze laptopa. W katalogu logs leży zapis testu ruchu — plik JSONL z sesji, na którym sprawdzana była stabilność detekcji.
GALERIA
04 ZDJĘĆAirCAD Viewer — render modelu STEP z self-testu instalatora · zrzut z projektu
AirCAD Viewer — model GLB w self-teście · zrzut z projektu
AirCAD Viewer — model OBJ w self-teście · zrzut z projektu
AirCAD Viewer — chmura punktów PLY · zrzut z projektu
WNIOSKI
Najwięcej pracy poszło nie w rozpoznawanie dłoni, tylko w wygaszanie drgań. Surowa pozycja dłoni skacze na tyle, że model bez filtracji wygląda jak w trzęsieniu ziemi — użyteczność zaczęła się dopiero po dołożeniu wygładzania i strefy nieczułości.


