CAD Armatura + Material Studio
3D

CAD Armatura + Material Studio

Konfigurator modeli STEP z osobnym studiem materiałów, w C++ i Qt.

PROJECT
3D-057
JĘZYK
C++ · QT
BUILD
CMAKE + NINJA + VCPKG
CELE
CadArmatura · CadMaterialStudio
TESTY
CTEST + CATCH2
STATUS
W TRAKCIE
DATA
06 sierpnia 2026

Dwa cele budowane z jednego drzewa źródeł na wspólnym rdzeniu: konfigurator wczytujący modele STEP armatury oraz studio przypisywania i podglądu materiałów. Projekt natywny, budowany przez CMake z Ninją i vcpkg, z tłumaczeniami zasobów Qt i testami w CTest.

CAD.ARMATURAKONFIGURATOR STEP + MATERIAL STUDIO
C++ / QT
WEJŚCIENARZĘDZIEPRZETWARZANIEMAGAZYNDECYZJAKONTROLAWYJŚCIE01PLIK STEP02IMPORT BRep03TESELACJA04DRZEWO CZĘŚCI05BIBLIOTEKAMATERIAŁÓW06PRZYPISANIEczęść → materiał07RENDER PBR08i18nzasoby Qt09TESTYCTest + Catch210PODGLĄD /EKSPORT
DWA CELE W JEDNYM DRZEWIE: CadArmatura (KONFIGURATOR) I CadMaterialStudio (MATERIAŁY) NA WSPÓLNYM cms_core
01

PROBLEM

Prezentacja armatury wymaga pokazania tego samego modelu w kilku wykończeniach: chrom, czarny mat, złoto szczotkowane, gun metal. Renderowanie każdego wariantu osobno w programie CAD jest pracochłonne, a przy zmianie modelu trzeba powtórzyć wszystko od nowa.

02

POMYSŁ

Rozdzielić geometrię od materiału. Model wczytuje się raz, a wykończenia są przypisywane do części — wtedy nowy wariant kolorystyczny kosztuje jedno kliknięcie, a nie kolejną sesję renderowania.

Stąd dwa cele w jednym repozytorium: konfigurator dla użytkownika końcowego i studio materiałów dla osoby przygotowującej biblioteki wykończeń.

03

PROJEKT

Architektura opiera się na wspólnej bibliotece rdzenia, z której korzystają obie aplikacje. Dzięki temu format materiału, sposób wczytania modelu i logika przypisania są zdefiniowane raz — a studio i konfigurator nie rozjeżdżają się przy zmianach.

Wejściem są pliki STEP, czyli reprezentacja brzegowa, którą trzeba steselować do postaci nadającej się do renderowania. Import i teselacja są wspólne dla obu celów.

Jakość teselacji jest tu parametrem o realnych konsekwencjach. Zbyt zgrubna daje widoczne krawędzie na chromowanej powierzchni, gdzie odbicia natychmiast obnażają wielokąty. Zbyt gęsta produkuje modele nie do obrócenia w podglądzie i pliki nie do wysłania do aplikacji mobilnej.

Warstwa tłumaczeń korzysta z systemu zasobów Qt — pliki językowe są kompilowane do binariów, więc aplikacja nie potrzebuje zewnętrznych katalogów z tłumaczeniami.

04

REALIZACJA

Projekt jest budowany przez CMake z generatorem Ninja i zależnościami z vcpkg, co jest wyborem typowym dla natywnych aplikacji Qt na Windowsie. Testy działają pod CTest z Catch2 — osobny cel testowy dla rdzenia.

W katalogu STP_file leżą modele testowe armatury, na których sprawdzany jest import i teselacja. To te same pliki STEP, które zasilają pozostałe projekty warsztatu — od przeglądarki AirCAD po modele GLB dla aplikacji AR.

05

EFEKT

Drzewo buduje się do dwóch plików wykonywalnych z bibliotek statycznych. Wspólny rdzeń kompiluje się do biblioteki o rozmiarze rzędu dwudziestu pięciu megabajtów, co odzwierciedla ilość logiki współdzielonej między aplikacjami.

Wybór C++ i Qt zamiast rozwiązania webowego wynikał z formatu wejściowego. Pliki STEP armatury mają po kilkadziesiąt megabajtów, a ich parsowanie i teselacja to operacje, które w przeglądarce oznaczałyby albo długie oczekiwanie, albo przeniesienie przetwarzania na serwer — czyli wysłanie dokumentacji konstrukcyjnej na zewnątrz.

Rozdzielenie na dwie aplikacje ma też uzasadnienie organizacyjne. Studio materiałów jest narzędziem dla jednej osoby przygotowującej biblioteki wykończeń; konfigurator trafia dalej, do prezentacji i sprzedaży. Wspólny rdzeń gwarantuje, że materiał wygląda w obu tak samo.

07

WNIOSKI

Modele STEP armatury okazały się zasobem wielokrotnego użytku, którego wartość rośnie z każdym kolejnym projektem. Ten sam plik napędza konfigurator, przeglądarkę z gestami, aplikację AR i renderowanie katalogowe — pod warunkiem, że raz przygotowano go poprawnie.