Wygładzanie krzywych w CATIA
Krzywe elementarne, których definicja jest realizowana przez polecenia Spline, Connect Curve czy Conic, są zawsze krzywymi ciągłymi zgodnie z kryterium G2 (ciągłość krzywizny). Krzywe konstrukcyjne, które powstają w wyniku przycięcia i sklejenia krzywych cząstkowych, a także jako krzywe przecięcia powierzchni lub rzutowania krzywej na powierzchnię, nie zawsze spełniają wysokie wymagania w zakresie ciągłości. Także krzywe importowane z innych systemów CAD, czy to bezpośrednio, czy też poprzez formaty neutralne (IGES, STEP), są obarczone pewnymi błędami konwersji, które wpływają na jakość krzywej. Dlatego obok sztuki definiowania krzywych konstruktor musi posiadać umiejętność analizy jakości krzywych i metod wygładzania.
Jeśli nie jest znany sposób definicji krzywej, bo jest to krzywa importowana lub zdefiniowana jako Datum, to pierwszym zadaniem konstruktora powinna być analiza geometryczna. Taka analiza może być przeprowadzona wizualnie i dodatkowo może być wspomagana poleceniem Geometric Information (rysunek 2.314). Niestety, w przypadku krzywych sklejanych informacje dostępne w oknie Geometric Analysis po wskazaniu całej krzywej (Curve.1 w drzewie strukturalnym modelu) są raczej skąpe, żeby nie powiedzieć żadne.
Rysunek 2.314. Analiza geometryczna krzywej sklejanej
Znacznie więcej informacji uzyskamy po wskazaniu jednego z segmentów krzywej sklejanej (rysunek 2.315), bo wtedy wiadomo, że krzywą Curve.1 składa się z odcinka linii prostej (Type OfGeometry = Line) i krzywej typu Spline (Type OfGeometry = SplineCurve) złożonej z trzech komponentow (Number of components U = 3). W sumie krzywą Curve.1 składa się z 4 komponentów.
Rysunek 2.315. Analiza geometryczna segmentów krzywej sklejanej
Znacznie więcej informacji o krzywej, zwłaszcza w kontekście analizy jej ciągłości, dostarczą polecenie Curve Connect Checker (rysunek 2.316). Jeśli dla tej samej krzywej Curva.1 wykonamy tę analizę w trybie Analysis Type = Distance, to uzyskamy obraz ciągłości geometrycznej (G0). Jeśli krzywą Curva.1 zostałą sklejona z 4 komponentow, to zakładając, że każdy z nich jest ciągły, powinniśmy uzyskać analizę ciągłości w 3 punktach wspolnych. Tu jednak jest inaczej, bo system wskazuje 4 analizowane punkty, z których jeden ma nieciągłość geometryczną o wielkości 0,002 mm.
Próbując zidentyfikować problem, można wyodIębnić krzywą typu Spline, ktorą obok odcinka linii prostej jest jednym z komponentow krzywej Curva.1. Takie żądanie może być wykonane za pomocą polecenia Extract po wskazaniu segmentu liniowego i włączeniu opcji Complementary mode (rysunek 2.317).
Rysunek 2.316. Analiza ciągłości geometrycznej krzywej Curve.1
Rysunek 2.317. Wyodrębnienie krzywej typu Spline ze struktury krzywej Curve.1
Wizualna analizą obszaru, w ktorym system wskazuje na niewielką, bo bliską tolerancji nieciągłość geometryczną, nic nie daje. Dlaczego? Tu przypomnę jedynie topologiczną ciągłość krzywych sklejanych (patrz polecenie Join) kontrolowaną prżeż wartość parametru Merging distance. Dopiero włączenie kolejnego narzędzia (rysunek 2.318), jakim jest precyzyjny sposob wizualizacji geometrii WYSIWYG mode (What You See Is What You Get), pozwala w odpowiednim powiększeniu zobaczyć i żmierżyć wykrytą przez Curve Connect Checker nieciągłość krzywej Curva.1.
Rysunek 2.318. Wizualizacja nieciągłości krzywej w trybie WYSIWYG
Jak naprawić taką nieciągłość? Jednym z rozwiązań może być rekonstrukcją środkowego segmentu krzywej Extract.1 za pomocą polecenia Spline lub Connect Curve, z zachowaniem wymaganej ciągłości do pozostałych segmentów. Taką metodą oznacza oczywiście dekompozycję krzywej ną segmenty elementarne, rekonstrukcję tych, które są nieciągłe, oraz powtórne sklejenie segmentów w jedną ciągłą krzywą. Mówiąc wprost, wymaga to dużo benedyktyńskiej pracy, która może być wykonana automatycznie za pomocą polecenia Curve Smooth (rysunek 2.319). Zanim zostanie wykonane wygładzenie wskazanej krzy
wej, system określa warunki początkowe:
- W punkcie P1 - krzywą Curva.1 ma ciągłość G0 i nieciągłość styczności (0,939 deg),
- W punkcie P2 - krzywą Curva.1 ma nieciągłość geometryczną (0,002 mm),
- W punkcie P3 - krzywą Curva.1 ma ciągłość G1 i nieciągłość krzywizny (0,903684),
- W punkcie P4 - krzywą Curva.1 ma ciągłość G1 i nieciągłość krzywizny (0,5).
Rysunek 2.319. Wstępna analiza ciągłości krzywej po uruchomieniu polecenia Curve Smooth
O ile nie ma problemu z interpretacją nieciągłości geometrycznej (0002 mm) lub nieciągłość styczności (0939 deg), to nieciągłość krzywizny wyrażona liczbowo (0,903684 i 0,5) powinna być wyjaśniona. Rozważmy przykład krzywej Join.1 (rysunek 2.320) sklejonej z dwóch łuków okręgu o różnych promieniach (rysunek 2.321).
Rysunek 2.320. Krzywa Join.1 sklejona z dwóch łuków okręgu
Rysunek 2.321. Analiza rozkładu krzywizny krzywej Join.1
Nieciągłość krzywizny jest obliczana według wzoru Nk = |R1–R2|/R2, gdzie R] i R2 są promieniami krzywizny obu krzywych w ich punkcie wspólnym. Dla przykładu z rysunku 2.321 mamy Nk = |20–50|/50 = 0,6. Liczbowo wyrażona nieciągłość to jeszcze
za mało, bo konieczne jest także ustalenie wartości granicznej, powyżej której wygładzanie krzywej nie powinno być wykonywane (rysunek 2.322). Zupełnie podobnie jak w przypadku polecenia Join i parametru Merging distance. Gdyby nieciągłość krzywizny była niewielka, na przykład Nk = 0,99, i tolerancję ciągłości krzywizny pozostawiono by na poziomie standardowym (Curvature threshold = 0,98), to polecenie Curve Smooth nie zmieni rozkładu krzywizny wygładzanej krzywej.
Stosownie do wartości parametrów Tangency threshold, Curvature threshold i aktualnej nieciągłości krzywej algorytm polecenia Curve Smooth modyfikuje kształt krzywej wygładzanej. Maksymalna dopuszczalna deformacja krzywej jest określona wartością parametru Maximum deviation. Im większa wartość tego parametru, tym więcej swobody ma system w poszukiwaniu najlepszej krzywej i tym większe jest prawdopodobieństwo jednorodnego (bez gwałtownych zmian) rozkładu zmian krzywizny krzywej (rysunek 2.323).
Rysunek 2.323. Porównanie rozkładów zmian krzywizny dla różnych wartości parametru Maximum deviation
Po wyjaśnieniu terminów i zasad wygładzania krzywej powroćmy do analizy ciągłości i wygładzania krzywej sklejanej Curve.1 z rysunku 2.319. Polecenie Curve Connect Checker pozwala analizować nie tylko ciągłość geometryczną krzywej, ale także ciągłość stycznych (rysunek 2.324) i ciągłość krzywizny.
Rysunek 2.324. Analiza ciągłości stycznych krzywej Curve.1
Algorytm wygładzania polecenia Curve Smooth modyfikuje krzywą nie tylko w taki sposób, by zapewnić jej ciągłość topologiczną, ale przede wszystkim geometryczną ciągłość jej elementów składowych. Dlatego czasami warto wykonać dekompozycję krzywej, aby zobaczyć, jak algorytm wygładzania modyfikuje kształt krzywych cząstkowych. Polecenie Disassemble (rysunek 2.325) zastosowane do krzywej Curve.1 tworzy 5 krzywych cząstkowych (Curve.2 - Curve.6), z których każda jest „wewnętrznie” ciągła według kryterium G2. Analiza ciągłości powinna być więc wykonana jedynie w punktach wspólnych tych krzywych lub inaczej w węzłach krzywej sklejanej.
Rysunek 2.325. Zastosowanie polecenia Disassemble do dekompozycji krzywej Curve.1
Po ustaleniu wartości tolerancji granicznych (Tangency threshold i Curvature threshold) oraz maksymalnej dopuszczalnej deformacji krzywej (Maximum deviation) można rozpocząć proces wygładzania krzywej Curve.1, którego celem może być osiągnięcie jednego z trzech rodzajów ciągłości:
1. Continuity = Point - ciągłość geometryczna krzywej (rysunek 2.326).
Rysunek 2.326. Wygładzanie krzywej Curve.1 w trybie Continuity = Point
System proponuje krzywą ciągłą co najmniej według kryterium G0, której maksymalna odchyłka od krzywej pierwotnej (Deviation: 7,498e - 004 mm) jest mniejsza od Maximum deviation = 0,001 mm. Wstępne rezultaty wygładzania krzywej Curve.1 (klawisz Preview w oknie Curve Smooth Definition) można interpretować następująco:
a. W punkcie P1 stan przed (In: C0 tangency discontinuous (0,939 deg)) i po wygładzaniu (Out: C0 tangency discontinuous (0,939 deg)) nie zmienił się. Nie ma zmiany na lepsze (problem nieciągłości nie został naprawiony) i dlatego opis jest umieszczony na czerwonym tle. Krzywa Curve smooth.1 ma w tym punkcie ciągłość G0 oraz nieciągłość stycznych o wielkości 0,939 deg.
b. W punkcie P2 stan przed (In: point discontinuous (0,002 mm)) i po wygładzaniu (Out: vertex erased) zmienił się. Nieciągłość geometryczna krzywej została naprawiona i dlatego opis jest umieszczony na zielonym tle. Węzeł P2 krzywej Curve.1 został usunięty (vertex erased), a to oznacza, że krzywe Curve.3 i Curve.4 z rysunku 2.325 zostały zastąpione jedną krzywą ciągłą. Taka ingerencja w topologiczną strukturę krzywej Curve.1 jest możliwa wtedy, gdy aktywny jest tryb Topology simplification. Potwierdzenie takiej modyfikacji (redukcji liczby krzywych cząstkowych) łatwo zobaczyć po zaakceptowaniu definicji
krzywej Curve smooth.1 i zastosowaniu polecenia Disassemble (rysunek 2.327).
Rysunek 2.327. Dekompozycja krzywej Curve smooth.1
c. W punkcie P3 stan przed (In: C1, curvature discontinuous) i po wygładzaniu (Out: C1, curvature discontinuous) w zasadzie nie zmienił się, chociaż nieciągłość krzywizny zmieniła się nieznacznie z 0,903684 na 0905457. Problem nieciągłości
nie został naprawiony i dlatego opis jest umieszczony na czerwonym tle. Krzywa Curve smooth] ma w tym punkcie ciągłość G1.
d. W punkcie P4 stan przed (In: C1, curvature discontinuous (05)) i po wygładzaniu (Out: C1, curvature discontinuous (0,5)) nie zmienił się. Problem nieciągłości nie został naprawiony i dlatego opis jest umieszczony na czerwonym tle. Krzywa Curve smooth.1 ma w tym punkcie ciągłość G1.
Krzywa Curve smooth.1 jest krzywą ciągłą według kryterium G0, ale nie G1 (rysunek 2.328).
2. Continuity = Tangent - ciągłość stycznych krzywej (rysunek 2.329).
Rysunek 2.328. Wyniki analizy ciągłości krzywej Curve smooth.1
Rysunek 2.329. Wygładzenie krzywej Curve.2 w trybie Continuity = Tangent
System proponuje krzywą ciągłą według kryterium G1, ktorej maksymalna odchyłka od krzywej pierwotnej (Deviation: 0,006 mm) jest mniejsza od Maximum deviation = 0,01 mm. Wstępne rezultaty wygładzania krzywej Curve.1 można interpretować następująco:
a. W punkcie P1 stan przed (In: C0, tangency discontinuous (0,939 deg)) i po wygładzaniu (Out: C1, curvature discontinuous (0,88485)) zmienił się. Problem nieciągłości został częściowo naprawiony (zmiana z G0 na G1) i dlatego opis jest umieszczony na żółtym tle. Krzywa Curve smooth.2 ma w tym punkcie ciągłość G1 oraz nieciągłość krzywizny o wielkości 0,88485.
b. W punkcie P2 komentarz jest taki sam jak dla Continuity = Point.
c. W punkcie P3 stan przed (In: C1 , curvature discontinuous) i po wygładzaniu (Out: C1, curvature discontinuous) w zasadzie nie zmienił się, chociaż nieciągłość krzywizny zmieniła się nieznacznie z 0,903684 na 0,873595. Problem nieciągłości
nie został naprawiony i dlatego opis jest umieszczony na czerwonym tle. Krzywa Curve smooth.2 ma w tym punkcie ciągłość G1.
d. W punkcie P4 komentarz jest taki sam jak dla Continuity = Point.
Krzywa Curve smooth.2 jest krzywą ciągłą według kryterium G1, ale nie G2 (rysunek 2.330).
Rysunek 2.330. Wyniki analizy ciągłości krzywej Curve smooth.2
3. Continuity = Curvature - ciągłość krzywizny krzywej.
a. Jeśli opcja Topology simplification jest aktywna (rysunek 2.331), to system proponuje krzywą ciągłą według kryterium G2, ktorej maksymalna odchyłka od krzywej pierwotnej (Deviation: 0,007 mm) jest mniejsza od Maximum deviation = 0,01 mm. Wstępne rezultaty wygładzania krzywej Curve.1 można interpretować następująco:
Rysunek 2.331. Wygładzanie krzywej Curve.3 w trybie Continuity = Curvature z aktywną opcją Topology simplification
- Krzywa Curve smooth.3 ma ciągłość G2 na całej swojej długości (opisy wszystkich punktów są umieszczone na zielonym tle).
- Wszystkie węzły krzywej Curve.1 zostały usunięte i dlatego krzywa Curve smooth.3 jest krzywą typu NUPBS (rysunek 2.333).
Rysunek 2.332. Wygładzenie krzywej Curve.3 w trybie Continuity = Curvature z wyłączoną opcją Topology simplification
Rysunek 2.333. Wpływ aktywności opcji Topology simplification na model matematyczny krzywej Curve smooth.3
b. Jeśli opcja Topology simplification jest wyłączona (rysunek 2.332), to system proponuje krzywą ciągłą według kryterium G2, której maksymalna odchyłka od krzywej pierwotnej (Deviation: 0,01 mm) jest równa Maximum deviation = 0 01 mm. Wstępne rezultaty wygładzania krzywej Curva.1 można interpretować następująco:
Krzywa Curve smooth.3 ma ciągłość G2 na całej swojej długości (opisy wszystkich punktów są umieszczone na zielonym tle).
System zachował topologię krzywej pierwotnej (wszystkie węzły krzywej Curva.1) i dlatego krzywa Curve smooth.3 jest „klasyczną” krzywą sklejaną (rysunek 2.333). Brak pełnej swobody modyfikacji kształtu krzywej w pobliżu punktow węzłowych jest powodem maksymalnej deformacji (Deviation = 0,01 mm = Maximum devialion).
Dekompozycja krzywej Curve smooth.3 zdefiniowanej z wyłączoną opcją Topology simplification potwierdza zachowanie topologicznej struktury krzywej Curve.1 oraz ciągłość krzywizny jej wszystkich krzywych cząstkowych (rysunek 2.334).
Rysunek 2.334. Dekompozycja krzywej Curve smooth.3 i analiza ciągłości jej krzywych cząstkowych
Analogicznie dla krzywej Curve smooth.3 zdefiniowanej z aktywną opcją Topology simplification jej dekompozycja oznacza stworzenie tylko jednej krzywej cząstkowej Curve.2 (rysunek 2.335). Takiej pojedynczej krzywej nie ma powodu analizować pod kątem jej wewnętrznej ciągłości, ale można ją jeszcze wygładzić. Po zastosowaniu polecenia Curve Smooth do krzywej Curve.2 w oknie Warning obok ostrzeżenia o braku nieciągłości jest też informacja o tym, że rozkład krzywizny może być jeszcze poprawiony.
Rysunek 2.335. Dekompozycja krzywej Curve smooth.3 i kolejna poprawa rozkładu jej krzywizny
W każdym przypadku proces wygładzania krzywej powinien być prowadzony równolegle z analizą rozkładu krzywizny (patrz punkt „Polecenie Porcupine Curvature Analysis").
Proces wygładzania krzywej powinien być zawsze ograniczony wymaganiami konstrukcyjnymi. Przykłady takich dodatkowych ograniczeń (rysunek 2.336) to „zamrożenie” wskazanego segmentu krzywej (zakładka Freeze) oraz ustalenie rodzaju ciągłości w punktach skrajnych wygładzanej krzywej (zakładka Extremities lub menu kontekstowe punktu skrajnego krzywej).
Rysunek 2.336. Definiowanie ograniczeń procesu wygładzania krzywej
W zakresie wstępnej wizualizacji wyników, szczególnie w przypadku krzywych o dużej liczbie punktow węzłowych, bardzo przydatny może być wybor sposobu wizualizacji (zakładka Visualization okna Curve Smooth Definition na rysunku 2.337):
- Interaktywny (Display information interactively), w ktorym pokazana jest informacja o rodzaju ciągłości dla wskazanego punktu węzłowego krzywej przed (In:) i po (Out:) wykonaniu polecenia.
- W kolejności punktow węzłowych (Display information sequentially), w którym opis dotyczy punktu następnego (Next) lub poprzedniego (Previous).
CATIA V5. Sztuka modelowania powierzchniowego, autor: Andrzej Wełyczko Wydawnictwo: Helion