Czym jest Technologia Synchroniczna a czym nie jest?
Technologia Synchroniczna
Technologia Synchroniczna wywołała w 2008 roku nie lada zamieszanie wśród bieżących i potencjalnych użytkowników. Ci, którzy używali przez kilka lat https://gmsystem.pl/solid-edge/, nie mogli zrozumieć, że szkic nie musi sterować modelem (niektórzy nadal nie mogą :)), ci natomiast, którzy stawali przed wyborem oprogramowania CAD 3D, straszeni byli przez konkurencję, że w Solid Edge nie możliwe jest już parametryczne modelowanie 3D. Czy brak kontroli nad modelem za pomocą szkicu oznacza, że system jest nieparametryczny? Czy brak powiązań w historii operacji (i co to w ogóle jest?) utrudnia zmiany w geometrii modelu? Czemu mogę dowolnie sortować historię, a nie mogę usunąć z niej dowolnej operacji?
Te i wiele innych pytań powoduje, że mimo iż technologia synchroniczna (ST) funkcjonuje w Solid Edge (oraz NX, ale o SE będzie tu mowa…) od dobrych kilku wersji, duża część użytkowników wciąż ma wątpliwości i nadal modeluje tylko w trybie sekwencyjnym (tzw. technologia tradycyjna). Zapytać zatem można skąd bierze się tak wiele wątpliwości?
Powodów jest kilka, a najważniejsze według mnie to:
- silne przyzwyczajenie do modelowania z historią i niechęć do nowych rozwiązań,
- nieudane, samodzielne próby modelowania dające wyniki inne niż znane dotychczas,
- brak zrozumienia podstaw technologii synchronicznej,
- myślenie o ST jako o technologii zastępującej technologię tradycyjną, a nie jako o alternatywie,
- obawa przed ograniczeniami ST wynikającymi z ciągłego rozwoju.
Żeby spróbować wyjaśnić zasady funkcjonowania technologii synchronicznej i rozwiać powyższe wątpliwości, nie wystarczy rzecz jasna pojedynczy post. Dlatego też w niniejszym spróbuję wyjaśnić podstawowe różnice pomiędzy „klasycznym” modelowaniem 3D a technologią synchroniczną.
Modelowanie z historią operacji
Modelowanie z historią operacji (history based modelling) to technika stosowana przez większość obecnych na rynku systemów CAD, w której proces tworzenia obiektu 3D (powierzchnia lub bryła) odzwierciedlany jest dodatkowo (poza geometrią samego obiektu) w postaci tzw. drzewa operacji (zwane też historią tworzenia modelu). Działania, które użytkownik wykonuje w odpowiedniej kolejności zostają w identycznym porządku „rejestrowane” w drzewie, a każda kolejna operacja zależy od poprzedniej (tzw. relacje Parent-Child). Systemy wykorzystujące tę technikę modelowania nazywa się systemami klasy Feature based, czyli opartymi o tzw. cechy geometryczne, które przyjęto nazywać operacjami (niekiedy niepoprawnie…) Właściwie nie jest tu istotne, w jaki sposób fragmenty geometrii są tworzone (przesuwanie szkiców, zastosowanie poleceń „proceduralnych” jak np. szyk czy wstawianie prymitywów – o reprezentacjach graficznych innym razem…) i czy (regularyzowane) operacje Boole’a są wykonywane automatycznie (zawsze, np. Solid Edge) czy manualnie (np. NX – oczywiście automatycznie też możliwe). Istotny jest właśnie fakt zapamiętania procesu tworzenia obiektu 3D w ustalonym porządku. To z kolei powoduje, że edycja geometrii obiektu uzależniona jest od sposobu jego tworzenia (wymiary w szkicach, parametry w operacjach proceduralnych itd.) i wymaga każdorazowego przeliczenia wszystkich operacji w ustalonym porządku. Nawet jeśli dokonamy bezpośredniej edycji geometrii (temat edycji bezpośredniej, jak i pośredniej rozszerzymy w innym poście), to charakter zmiany będzie zależał od sposobu tworzenia obiektu, a jej wynik (poza odzwierciedleniem w geometrii) zostanie dodany na drzewie w postaci operacji zależnej.
Niewątpliwą zaletą modelowania z historią jest możliwość szybkiego powrotu do wcześniejszych „stanów” geometrii. Z drugiej strony relacje Parent-Child „powiększają” pliki i utrudniają swobodne wprowadzanie zmian, co powoduje konieczność wcześniejszego planowania struktury drzewa. Drzewo jest zatem „nierozerwalne” z modelem 3D. Usunięcie, zablokowanie czy zmiana kolejności operacji bez wcześniejszej analizy struktury drzewa spowodować może zmianę sekwencji zdarzeń, a więc i wywołać błędy w geometrii modelu.
Poniżej przedstawiłem przykład modelu dźwigni, który niegdyś otrzymałem od kolegi. Nie analizując struktury drzewa operacji, postanowiłem spróbować zmienić długość ramienia dźwigni (zmiana wymiaru 120 mm na 114 mm). Wykorzystałem technikę dynamicznej edycji szkicu (pośrednia technika edycji, którą niektóre konkurencyjne systemy firmują jako odpowiednik ST) i dokonałem zmiany w pierwszej operacji na drzewie. Proszę zwrócić uwagę na 1 zdjęcie – czy system nie cofnął geometrii do stanu po utworzeniu 1 operacji? Bzdura! Nie cofnął jej wizualnie – wykonanie zmiany w 1 operacji, będzie wymagało ponownego przeliczenia (zaoszczędzamy właściwie tylko czas związany z wejściem i wyjściem ze „szkicownika”). Jaki wynik? Jak widać…
Patrząc na wynik chcielibyśmy powiedzieć – model jest nieinteligentny i moja intencja zmiany byłą inna. Co zatem z „inteligencją” modelu w trakcie edycji i tzw. intencją projektu (nie należy jej pomylić z intencją wprowadzającego zmianę)?
W modelowaniu z historią inteligencja geometrii modelu zależna jest nie tylko od kolejności, ale również od rodzaju wykorzystanych operacji i zastosowanych parametrów. Jeśli operacja wykorzystuje profile 2D (np. wyciągnięcia wzdłuż prostych i po ścieżkach, wyciągnięcia przez przekroje itp.) część inteligencji czyli przewidywalnego zachowania się geometrii modelu 3D zapewnia użytkownik, definiując trwałe zależności geometryczne (relacje 2D takie jak: połączenie, równość, prostopadłość itp.) i/lub sterujące wymiary (mogą być dodatkowo powiązane formułami matematycznymi). W przypadku operacji z procedurą inteligencja ( w całości lub częściowo) wynika z charakteru operacji i jej parametrów (np. Szyk – zmienna ilość wystąpień sterowana wartością liczbową, kierunek transformacji określony przez szkic; Zaokrąglenie – styczność zaokrąglenia do dwóch przylegających ścian z definicji, wartość promienia sterowana wartością liczbową itd.).
Czy zatem inteligencja jest równoważna z intencją projektu (założeniami projektanta)? Czy założenia, które (świadomie lub nieświadomie) wprowadził w projekcie jeden konstruktor, mogą być w łatwy sposób zmienione przez innego konstruktora? Czy sposób tworzenia obiektu musi mieć wpływ na jego późniejszą edycję?
Wyobraźmy sobie banalny model – prostokątną płytkę z czterema jednakowymi fazami w narożach i dwoma jednakowymi otworami przelotowymi w przeciwległych narożach. Płytkę wykonano w jednej operacji (wyciągnięcie ze szkicu).
Czy wykonanie takiego modelu w jednej operacji jest błędem czy zaletą? Jeśli chcielibyśmy w takim modelu usunąć dowolne dwie fazy, to czy możemy to zrobić szybko i intuicyjnie? Oczywiście możemy dokonać edycji szkicu, usunąć fazy i zamknąć naroża, ale czy to pozwoli nam w dowolnym momencie powrócić do poprzedniego wariantu z czterema fazami? Użytkownicy Solid Edge pewnie już krzyczą, że przecież można użyć polecenia z grupy Modyfikacja, np. Usuń lica – trafiliście w dziesiątkę! I tu dochodzimy do sedna, ponieważ ta zmiana będzie formą bezpośredniej edycji geometrii modelu, przy czym w trybie z historią operacji. Weźmy inną zmianę – chcemy jeden z otworów skopiować i przesunąć do środka płytki – czy mamy w tym przypadku taką możliwość bez ingerencji w szkic?
Oczywiście jest to bardzo prosty model i w każdej chwili możemy go zamodelować od podstaw – ale jak!? Co z modelami skomplikowanymi wymagającymi zastosowania wielu operacji – czy wszystkie operacje wykonywać jako oddzielne pozycje na drzewie? Czy intencja projektu jest zawsze wymagana?
Prosta płytka, a tak wiele pytań i wątpliwości. Chcąc ich uniknąć musimy edytować bezpośrednio, pytanie tylko czy w trybie z historią czy bez…
Modelowanie bez historii operacji
Od momentu ogłoszenia przez Siemens technologii synchronicznej, w świecie CAD bardzo dużo mówi się o modelowaniu bezpośrednim. Co to takiego jest? Dawniej określenie to odnosiło się przede wszystkim do sfery modelowania powierzchniowego (Direct Shape Modelling).Takie modelowanie polega na tworzeniu obiektu poprzez łączenie ze sobą pojedynczych powierzchni (w zależności od zastosowanego polecenia kształt pojedynczych powierzchni sterowany jest przez profile – istniejące krawędzie lub krzywe oraz dodatkowe parametry – np. kontrola ciągłości styczności i krzywizny itd.). Niektórzy z Was stosowali pewnie tę technikę również do naprawy geometrii importowanej.
Czy wśród użytkowników Solid Edge lub NX przeszło kiedyś przez myśl, aby utworzyć bryłę prostopadłościenną poprzez utworzenie krawędzi, „obszycie” ich powierzchniami i zszycie tych powierzchni w celu utworzenia obiektu bryłowego?
Dzisiaj o modelowaniu bezpośrednim (nie należy pojęcia pomylić z edycją bezpośrednią, która jest możliwa w systemach z historią i bez – różnica jest zasadnicza!) mówi się w odniesieniu do systemów, w których drzewo operacji nie jest tworzone (history free modelling). Ale czy to wystarczy, te systemy utożsamiać z modelowaniem bezpośrednim? Czy jest to równoznaczne z parametrycznością? Nie!
Wymieńmy zatem najważniejsze cechy współczesnego systemu do modelowania bezpośredniego i wymagania, jakie mu są stawiane (odniosę się tutaj tylko do modelowania pojedynczych części):
- Sposób tworzenia modelu jest dowolny, ale powinien być możliwie najprostszy.
- Kolejność i rodzaj zastosowanych operacji nie ma znaczenia z punktu widzenia edycji geometrii obiektu – brak klasycznej historii, w której operacje powiązane są sekwencyjnie relacjami Part-Child.
- Edycja modeli natywnych, jak i importowanych odbywa się na poziomie bryły – jeśli w modelu wprowadzone zostaną trwałe zależności (intencja projektu), jak np. sterujące wymiary czy relacje 3D SĄ ONE ROZWIĄZYWANE W TRAKCIE EDYCJI SYMULTANICZNIE (SYNCHRONICZNIE), a nie sekwencyjnie jak to ma miejsce w modelowaniu z historią.
- Podstawowa technika wprowadzania zmian to bezpośrednia edycja geometrii obiektu (bryła B-rep).
- Dostępność zaawansowanych sposobów zaznaczania geometrii (filtry, rozpoznawanie „typowych” cech modelu, inteligencja itp.).
- Dostępność zaawansowanych metod modyfikacji geometrii (bezpośrednia translacja i rotacja, przenoszenie lic wymiarem, transformacja przez określenie relacji 3D – np. przyleganie, prostopadłość, współosiowość itp.).
- Możliwość pośredniego sterowania geometrią z wykorzystaniem wymiarów, trwałych relacji 3D, parametrów itp. (parametryzacja modeli natywnych i importowanych, intencja projektu).
To chyba najważniejsze. Oddzielnym zagadnieniem jest inteligencja, w rozumieniu przewidywalności i sposobu zachowania się bryły B-rep w trakcie edycji (szczególnie zmiany topologii)…
Jak to się wszystko ma do Technologii Synchronicznej w Solid Edge? Bardzo dobrze! Technologia synchroniczna spełnia wszystkie powyższe założenia modelowania bezpośredniego, a przy okazji pozwala modelować (nie mylić z edycją) w sposób zbliżony do trybu z historią (przeciągnięcia, operacje z procedurą itd.). do którego użytkownicy Solid Edge są tak bardzo przyzwyczajeni… Dodatkowe zastosowanie regionów pozwala oprzeć modelowanie na technice „zaznacz-przeciągnij”, która jest bardziej intuicyjna w przypadku przesunięć i obrotów.
Wynik stosowania operacji z tzw. procedurą (Zaokrąglenie, Otwór, Szyk itp., które nazywane są bardzo różnie: proceduralne, parametryczne, inteligentne, stosowane, nieszkicowane, obróbkowe…), tj. wprowadzenie dodatkowej inteligencji i parametrów, przechowywany jest klasycznie w postaci operacji, a nie jest ukryty gdzieś w parametrach czy relacjach. Operacja znajduje się w PathFinder (w trybie synchronicznym to nie jest klasyczne drzewo operacji!!!) i jej parametry mogą być edytowane z tego poziomu lub bezpośrednio po ingerencji w geometrię modelu (pojawiają się uchwyty edycji).
Intencja projektu, intencja wprowadzającego zmianę i inteligencja modelu w technologii synchronicznej są sprawami niezależnymi, co jest niezwykła zaletą. Niezależnie od sposobu zamodelowania (ewentualnie systemu źródłowego w przypadku modelu importowanego) w trakcie edycji geometria zachowuje się inteligentnie (Reguły rozpoznają zależności geometryczne w bryle B-rep i automatycznie zaznaczają rozpoznane lica do edycji) – system sam identyfikuje lica symetryczne, współosiowe, styczne itp. i proponuje wykonanie zmiany w określony sposób (przewiduje intencję wprowadzającego zmianę). Edytujący geometrię może to wykorzystać lub z tej propozycji szybko zrezygnować i wprowadzić zmianę według własnych założeń.
Jeśli w edytowanym modelu wprowadzono „inteligencję dodaną”, czyli określono intencję projektu za pomocą relacji 3D, wymiarów sterujących czy operacji proceduralnych, edytujący geometrię może również w tym przypadku (bez klasycznej żmudnej analizy zależności Parent-Child!) zrezygnować z wybranych (lub wszystkich) trwałych zależności i przeprowadzić zmianę zgodnie ze swą intencją.
Zaznaczanie geometrii jeszcze przed rozpoczęciem edycji można usprawnić, wykorzystując Menedżer wyboru, a zmiany wprowadzić poprzez określenie zależność geometryczną (Relacje lic) lub odpowiednio manipulując Kołem sterującym, które ma niesamowite możliwości bezpośredniej transformacji obiektów. Ciekawym rozwiązaniem jest też możliwość dynamicznego tworzenia przekrojów i wykorzystanie ich w bezpośredniej edycji geometrii (również w modelach importowanych!)
Co więcej? Technologia synchroniczna wśród systemów do modelowania bezpośredniego wyróżnia się dodatkowymi cechami, m.in.:
- Lista cech geometrycznych, która zastąpiła klasyczne drzewo (inne systemy w takiej formie nie posiadają jej w ogóle) – jest to bryła B-rep „rozstrzelona” na zestawy lic i operacje proceduralne; lista niezwykle usprawnia proces zaznaczania geometrii do edycji.
- Rozpoznane automatycznie w trakcie edycji zależności geometryczne (Reguły), mogą zostać po jednym kliknięciu zapisane jako trwałe zależności (Relacje 3D).
- Możliwość tworzenia wielu wariantów modeli natywnych lub importowanych! (rodziny/konfiguracje części są czymś unikatowym w modelowaniu bezpośrednim).
- Łatwe przejście 2D->3D oraz unikatowa możliwość parametryzacji modeli importowanych za pomocą rysunku z wymiarami.
- Automatyczne wprowadzanie geometrycznych zależności (obiekt sterujący-obiekt sterowany) dla części importowanych z innych systemów (złożenie).
- Wiele innych, o których mam nadzieję uda się napisać 🙂
Co daje nam modelowanie bezpośrednie w postaci Technologii Synchronicznej? Przede wszystkim niezależność. Niezależność w odniesieniu do metody modelowania (dowolne techniki, dowolna kolejność, brak powiązań operacji), jak i edycji (system źródłowy nie istotny, pracujemy na bryle B-rep). Niezależność także w odniesieniu do wymiany danych z kooperantami. Są też inne zalety, takie czas projektowania i edycji, wielkość plików itd..
Pamiętacie podawany przeze mnie wcześniej przykład zmiany długości w modelu dźwigni, którego wcześniej nigdy nie widziałem. Po przekonwertowaniu modelu na element synchroniczny efekt wprowadzonej w identyczny sposób zmiany wygląda tak…
Ograniczenia? Oczywiście istnieją, jak wszędzie. Chyba największym problemem dla modelerów bezpośrednich (podobnie jak narzędzi do analizy geometrii i próby odtworzenia drzewa operacji w systemach opartych o historię) jest skuteczna kontrola nad skomplikowanymi przejściami powierzchni krzywoliniowych. Między innymi z tego względu w Solid Edge wprowadzono możliwość projektowania hybrydowego, co próbują „kopiować” inni producenci (SE wyznacza trendy? PTC, które upierało się przy tym, że niemożliwe jest skuteczne połączenie obu metodologii projektowania, stworzyło Creo Parametric, w którym właśnie takie modelowanie jest możliwe…)
Chcecie poćwiczyć modelowanie z wykorzystaniem Technologii Synchronicznej w najnowszej wersji systemu Solid Edge? Mamy do tego celu fantastyczne ćwiczenia: