Polecenie Split w CATIA
Jeśli krzywa jest wynikiem rzutowania lub przecięcia dwóch powierzchni, to może się zdarzyć, że jej kształt jest lokalnie niedopuszczalny - patrz krzywa z „pętlą” na rysunku 2.296. W takim przypadku problematyczny fragment krzywej może być odcięty i odrzucony (polecenie Split - rysunek 2.297), a następnie „uzupełniony” krzywą ciągłą, którą można zdefiniować za pomocą polecenia Connect lub Spline (rysunek 2.298). Jako element tnący można zastosować dowolny element z grupy Wireframe, czyli punkt, linię, krzywą, płaszczyznę lub powierzchnię.
W rezultacie po zastosowaniu polecenia Join uzyskamy poprawną geometrycznie i ciągłą krzywą Join.1 (rysunek 2.299), a rodzaj ciągłości krzywej wynikowej zależy od parametrów ustalonych w definicji krzywej łączącej (Spline lub Connect).
Rysunek 2.296. Przykład krzywej z „petlą”
Rysunek 2.297. Odcięcie fragmentu krzywej za pomocą polecenia Split
Rysunek 2.298. Uzupełnienie odrzuconego fragmentu krzywej za pomocą polecenia Split
Rysunek 2.299. Konstrukcja krzywej sklejonej Join. 1
Możliwa jest także taka sytuacja, w której dwie krzywe trzeba przyciąć i zdefiniować krzywą łączącą. Najprostszym rozwiązaniem jest w takim przypadku zastosowanie polecenia Connect Curve, które poza definicją punktów przycięcia obu krzywych umożliwia kontrolę rodzaju ciągłości krzywych pierwotnych (Curvel i Curve. 2) z krzywą łączącą Connect.1 (rysunek 2.300).
Rysunek 2.300. Przycięcie i uzupełnienie odrzuconych fragmentów krzywych za pomocą polecenia Connect Curve
Chciałbym zwrócić uwagę Czytelnika na jeszcze jeden istotny, moim zdaniem, aspekt zastosowania polecenia Split. Wskazanie krzywej do odcięcia (pole Element to cut okna Split Definition) jest jednocześnie wskazaniem tej części krzywej, którą system powinien pozostawić po zakończeniu operacji Split. Na rysunku 2.301 wskazany (środkowy) fragment krzywej Curve.1 jest rezultatem jej przycięcia za pomocą krzywej Curve.2.
Rysunek 2.301. Wskazanie krzywej do odcięcia jest jednocześnie wskazaniem, która część krzywej ma być zachowana po zatwierdzeniu polecenia Split
Gdyby rezultatem zastosowania polecenia Split miała być część krzywej Curve.1 leżąca po przeciwnej stronie elementu tnącego (Curve.2), to wystarczy wcisnąć klawisz Other side (rysunek 2.302). Może się jednak zdarzyć, że krzywa wynikowa Split. 1 będzie złożona z kilku (na przykład dwóch) nieciągłych segmentów. W terminologii systemu CATIA V5 taki przypadek nosi nazwę Non connex result. W takim przypadku po zatwierdzeniu definicji krzywej Split.1 system uruchomi automatycznie, omawiany już wcześniej, tryb Multi—Result Management, którego rezultatem będzie krzywa Near.1 lub Extract.1.
Rysunek 2.302. Przykład krzywej typu Split złożonej z dwóch nieciągłych fragmentów i reakcji systemu na taką niejednoznaczność
Aby uniknąć niejednoznaczności definicji krzywej Split.1 i stosowania trybu Multi-Result Management, można w oknie Split Definition ustalić listę elementów do usunięcia (Elements to remove) lub listę elementów, które mają być zachowane (Elements to keep). Na przykład jeśli wskazany zostanie jeden z punktów granicznych krzywej Curve.1 (Curve.1 Vertex.3 ) jako Element to keep, to wynikowa krzywa Split.1 będzie zawierać tylko najbliższy fragment krzywej Curve] po wybranej stronie elementu tnącego Curve.2 (rysnek 2.303).
Polecenie Split jest zazwyczaj stosowane do przycinania krzywych otwartych. Gdyby trzeba było przyciąć krzywą zamkniętą, to potrzebny jest jeden element tnący, który ma dwa punkty przecięcia z krzywą przycinaną lub dwa elementy tnące. Na przykład (rysunek 2.304) krzywa Curve] może być przycięta przez linię Line.1 i krzywą Sketch.1. Niestety, w przypadku krzywej zamkniętej wskazanie części krzywej, która ma pozostać po odcięciu, czyli wskazanie punktu na krzywej, nie zawsze jest jednoznaczne, bo położenie tego punktu jest zależne od punktu początkowego tej krzywej. Tak, każda krzywa (także krzywa zamknięta) ma swój teoretyczny początek (Closing Point), czyli punkt, w którym współrzędna U krzywej ma wartość 0. Położenie tego punktu może się zmienić po wykonaniu zmian geometrycznych i dlatego system sugeruje w oknie Wamings zastosowanie omówionego wcześniej trybu Keep/Remove.
Rysunek 2.303. Zastosowanie trybu Elements to keep w definicji polecenia Split
Rysunek 2.304. Próba odcięcia fragmentu krzywej zamkniętej
Ale w jaki sposób uniezależnić wybór części krzywej do odcięcia od potencjalnych, czyli nie do końca znanych, zmian konstrukcyjnych? Czy punkt Point.1 (rysunek 2.305), zdefiniowany w 1/3 długości krzywej Curve.1 od jej początku, może być zastosowany jako jednoznaczny wskażnik tej części krzywej, którą trzeba pozostawić? Moim zdaniem nie, bo jego współrzędne są zależne od punktu ExtremumJ, a ten z kolei jest punktem ekstremalnym w kierunku wyznaczonym przez arbitralnie ustalony wektor [1,2,3]. Takie współrzędne wektora kierunku są stosowane zawsze do wyznaczenia teoretycznego punktu początkowego krzywej zamkniętej. Skoro wektor kierunku nie ma nic wspóhiego z krzywą, to wyznaczony na jego podstawie punkt Extremum.1, a także Point.1 nie są w żaden sposób związane z otoczeniem geometrycznym krzywej Curve.1.
Rysunek 2.305. Konstrukcja punktu Point.1 na krzywej Curve.1
Czy punkt Point.1 musi być wyznaczony na podstawie „sztucznego” punktu początkowego krzywej Curve.1? Nie. Można przecież zdefiniować punkt przecięcia krzywej Curve.1 z linią Line.1 , a potem wskazać ten punkt przecięcia jako Reference Point w oknie Point Definition. Taka definicja punktu Point.1 gwarantuje, że „podąży” on za swoimi „rodzicami”, czyli dostosuje się on do każdej zmiany kształtu krzywej Curve] oraz linii Line.1. Procedurę konstrukcyjną punktu można uprościć, bo zamiast dwóch punktów (Extremum.1 i Point.1) można zdefiniować tylko jeden. Na przykład jeśli krzywa Curve.1 leży na
płaszczyźnie XY, to wystarczy wyznaczyć punkt, którego współrzędna X jest minimalna (Extremum.1 na rysunku 2.306).
Rysunek 2.306. Definicja punktu Extremum. 1, czyli punktu Minimum krzywej Curve.1 w kierunku X
Pora powrócić do tematu głównego, czyli polecenia Split. W polu Cutting elements okna Split Definition można wskazać więcej niż jeden element tnący (na przykład Sketch] i Line.1 ), ale lepszym rozwiązaniem jest „sklejenie” tych elementów w jeden obiekt. Jeśli wynik „sklejenia” (krzywa typu Join) ma być ciągły, to przed zastosowaniem polecenia Join należy wykreślić linię Line.2 łączącą krzywe Sketch.1 i Line.1. Krzywa Join.1 może być wtedy zdefiniowana z aktywną opcją Check continuily (rysunek 2.307). Bez linii pomocniczej Line.2 definicja krzywej Join.1 jest możliwa, ale oczywiście z wyłączoną opcją Check continuity.
Po przygotowaniu wszystkich elementów pomocniczych (Extremum.1 i Join.1) można powtórzyć próbę odcięcia krzywej zamkniętej Curve.1 przez krzywą Join.1 (rysunek 2.308). Aby uniknąć ostrzeżenia 0 niejednoznaczności w polu Elements to keep okna Split Definition, należy wskazać punkt Extremum.1.
Rysunek 2.307. Definicja krzywej sklejanej Join. 1
Rysunek 2.308. Przykład odcięcia cześci krzywej zamkniętej
Poprawność takiej konstrukcji łatwo sprawdzić, na przykład przez modyfikację punktu Extremum.1. Zamiana typu punktu z Min na Max i uruchomienie procedury Update spowoduje oczywiście zamianę tej części krzywej Curve.1 , którą trzeba pozostawić (rysunek 2.309), bo zmieniło się położenie punktu Extremum. 1.
Rysunek 2.309. Położenie punktu Extremum.1 wpływa na rezultat przycięcia krzywej Curve.1
CATIA V5. Sztuka modelowania powierzchniowego, autor: Andrzej Wełyczko Wydawnictwo: Helion