Strona 4 z 4
Jeśli elementem tnącym powierzchnię Surface To Split jest Cutting_Plane, to jest chyba oczywiste, że płaszczyzny Left i Right powinny być zastosowane do ustalenia, którą część powierzchni system powinien pozostawić po odcięciu (zamiast płaszczyzn można zdefiniować punkty, na przykład MaxX, MinX, MaxY, MinY, MaxZ i MinZ). Metoda wyboru polega na zastosowaniu operacji Near (blisko, bliski) do obiektu, który jest co najmniej dwuznaczny, czyli jest zbudowany z więcej niż jednego komponentu (na przykład dwa punkty). Jaki obiekt geometryczny może być zbudowany z dwóch punktów?
Rys. 13
Po spełnieniu pewnych warunków w wyniku przecięcia dwóch krzywych, z których przynajmniej jedna jest zamknięta, otrzymamy dwa punkty. Pierwszą z tych krzywych może być rzut Project.1 linii Line.1 na powierzchnię Surface To Split (Rys. 13).
Drugą krzywą może być krzywa graniczna Boundary.1 (Rys. 14) powierzchni Surface To Split zdefiniowana w trybie Propagation type = Point continuity.
Rys. 14
Krzywa Boundary.1 jest oczywiście krzywą zamkniętą, bo jest to krzywa graniczna powierzchni. Polecenie Intersection (Rys. 15) zastosowane do krzywych Project.1 i Boundary.1 generuje dwa punkty przecięcia (“The resulting geometry of this element is made of 2 sub-elements that are not connected”), z których w tym przykładzie wybieram bliższy płaszczyźnie Right.
Rys. 15
W rezultacie, niezależnie od kształtu i orientacji powierzchni Surface To Split, mamy punkt Near.1 (Rys. 16), który leży na tej powierzchni i w przestrzeni modelu znajduje się bliżej płaszczyzny Right niż Left.
Rys. 16
Definicja polecenia Split z punktem Near.1 jako Element to keep generuje oczekiwany rezultat: system zachował po odcięciu płat powierzchni bliższy płaszczyźnie Right (Rys. 17).
Rys. 17
Czy taka procedura jest uniwersalna, to znaczy niezależna od kształtu i orientacji powierzchni odcinanej? Moim zdaniem tak. Wystarczy zdefiniować nową powierzchnię (tu New Surface To Split), upewnić się, że ta powierzchnia ma zwrot przeciwny do zwrotu powierzchni Surface To Split i wykonać polecenie Replace (Rys. 18). Rezultat procedury konstrukcyjnej, czyli powierzchni Split.1, jest zgodny z oczekiwaniami – system pozostawił po odcięciu ten płat powierzchni New Surface To Split, na którym leży punkt Near.1, czyli bliższy płaszczyźnie Right.
Rys. 18
Rys. 19
Procedura wyboru może być oczywiście inna, bo może uwzględniać punkty przecięcia jakichś krzywych z powierzchnią lub rzuty jakichś punktów na powierzchnię. Użyłem określenia „jakichś”, bo WSZYSTKO zależy od otoczenia geometrycznego i intencji konstruktora. Tu powrócę do pytania, które zadałem na początku: jak w takim razie w sposób automatyczny określić, która część powierzchni ma pozostać po wykonaniu polecenia Split?
Odpowiedź #1: Zachowaj tę część, która ma punkt przecięcia z zadaną krzywą.
Odpowiedź #2: Zachowaj tę część, na której leży rzut zadanego punktu.
Odpowiedź #3: Zachowaj tę część, która ma krzywą przecięcia z zadaną powierzchnią.
Odpowiedź #4: …
Zastanów się nad procedurą konstrukcyjną, która zrealizuje Twój zamiar w taki sposób, żeby kontrolować rezultat polecenia Split, niezależnie od orientacji elementów pomocniczych (krzywych, płaszczyzn lub powierzchni), bo tylko wtedy Twój model przestrzenny będzie zawsze przewidywalny.
Andrzej Wełyczko
artykuł pochodzi z wydania Grudzień 12 (63) 2012
Czytaj także:
- start
- Poprzedni artykuł
- 1
- 2
- 3
- 4
- Następny artykuł
- koniec