16 października 2021


W każdym systemie parametrycznym model geometryczny jest asocjatywnie powiązany z elementami nadrzędnymi i każda modyfikacja geometrii jest propagowana do elementów podrzędnych. Można więc zapytać: jaką wartość w gotowym modelu powierzchniowym ma funkcja przypisana do pewnych cech konstrukcyjnych? No właśnie – w gotowym modelu powierzchniowym!
Picture-03_sA gdyby zapytać inaczej: czy model powierzchniowy musi być w „klasycznym” (parametrycznym) systemie CAD budowany z elementarnych cech geometrycznych? W taki sposób projektowaliśmy dawno temu modele bryłowe, a dzisiaj mamy bryłowe cechy konstrukcyjne (geometryczne lub funkcjonalne) z określoną polaryzacją! Czy przez analogię do funkcjonalnego modelowania części formowanych (Functional Molded Part) nie można pokusić się o propozycję takiego rodzaju modelowania powierzchniowego, które dla każdej cechy konstrukcyjnej uwzględni jej definicję geometryczną, funkcję w projektowanej części, priorytet i wreszcie zagwarantuje technologiczność projektu? Można, Functional Shape Design jest tego przykładem.
Picture-04_sZałóżmy, że konstruktor ma do wykonania model powierzchniowy podłogi samochodu. Taka podłoga jest oczywiście formowana z blachy w procesie tłoczenia. Nie jest to element lakierowanej karoserii, a więc nie musi być (dla zapewnienia ciągłości G3) wykonany w środowisku ICEM Shape Design – wystarczy Generative Shape Design. Tym, którzy znają to środowisko w systemie CATIA V5 proponuję zastanowić się nad procesem budowy modelu pokazanego na rysunku 3. W jaki sposób z przygotowanych wcześniej elementów podstawowych (punktów, krzywych, powierzchni, itd.) uzyskać model pokazany po prawej stronie tego rysunku?
Dla przetłoczenia, które jest konieczne dla zapewnienia większej sztywności projektowanego elementu podłogi, taka procedura konstrukcyjna mogłaby być podobna do tej, pokazanej na rysunku 5. Picture-05_sW pierwszym kroku, dla konturu zamkniętego SketchBead (tu: prostokąt), który ogranicza obszar tego przetłoczenia, wykonano jego rzut (Project.1) na powierzchnię StartSurface. Następnie zdefiniowano powierzchnię boczną przetłoczenia (Sweep.1 – dla Profile type=Line i Subtype=With reference surface) oraz powierzchnię górną (Offset.1). Dalej pozostaje jedynie przycięcie powierzchni teoretycznych i zaokrąglenie ostrych krawędzi (Fillet.1 i Fillet.2). Nie jest to oczywiście jedyna możliwa metoda, ale każda będzie zawierać co najmniej kilka kroków (tu: sześć). Dla konstruktora, który musi wykonywać tego typu projekty jedynym racjonalnym rozwiązaniem w systemie V5 wydaje się być zastosowanie szablonów konstrukcyjnych (PowerCopy lub UserFeature). Takie rozwiązanie automatyzuje wykonanie stałej procedury konstrukcyjnej dla różnych elementów początkowych (tu: StartSurface, ReferencePlane i BeadSketch), ale nie jest łatwo zdefiniować taki uniwersalny szablon konstrukcyjny. Tym, którzy próbowali nie muszę tłumaczyć dlaczego. Tym, którzy nie próbowali podpowiem, że automatyczna procedura konstrukcyjna (czyli szablon) musi gwarantować jednoznaczną definicję geometryczną. Na przykład, musi uwzględniać różne wektory orientacji krzywych i powierzchni oraz rozstrzygać, które elementy powierzchni teoretycznych trzeba pozostawić lub odrzucić w czasie ich przycinania (polecenia Split, Trim lub Shape Fillet).
Sama definicja przetłoczenia to jednak nie wszystko, bo prędzej czy później trzeba wykonać pewne zmiany konstrukcyjne. I nie chodzi to o zmianę parametrów samego przetłoczenia (szerokość, wysokość czy promienie zaokrągleń krawędzi), ale o z(a)mianę elementów początkowych (podstawowych) projektowanego fragmentu podłogi. Na przykład, gdyby w trakcie projektowania okazało się (i nie jest to sytuacja czysto teoretyczna), że pod podłogą musi zmieścić się nieuwzględniony do tej pory element konstrukcyjny samochodu. Definicja takiego elementu może być bryłą lub (najczęściej) płatem powierzchni (patrz: powierzchnia ProtectedSpaceSurface na rysunku 5). Zadaniem konstruktora jest „dodanie” tej powierzchni do teoretycznej powierzchni podłogi (tu: StartSurface). W systemie V5 nie jest to zadanie zbyt trudne, bo wystarczy przyciąć obie powierzchnie (StartSurface i ProtectedSpaceSurface) za pomocą polecenia Trim i zaokrąglić krawędź wspólną tych powierzchni (tu: EdgeFillet.2)