Czym jest Technologia Synchroniczna a czym nie jest? Zapowiedź Technologii Synchronicznej 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 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 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, jednak do najważniejszych można zaliczyć: - 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 jeden artykuł. 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 najprostszy 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): 1. Sposób tworzenia modelu jest dowolny, ale powinien być możliwie najprostszy. 2. 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. 3. 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ą. 4. Podstawowa technika wprowadzania zmian to bezpośrednia edycja geometrii obiektu (bryła B- rep). 5. Dostępność zaawansowanych sposobów zaznaczania geometrii (filtry, rozpoznawanie typowych cech modelu, inteligencja itp.). 6. 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.). 7. 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.: 1. 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. 2. 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). 3. Możliwość tworzenia wielu wariantów modeli natywnych lub importowanych! (rodziny/konfiguracje części są czymś unikatowym w modelowaniu bezpośrednim). 4. Łatwe przejście 2D->3D oraz unikatowa możliwość parametryzacji modeli importowanych za pomocą rysunku z wymiarami. 5. Automatyczne wprowadzanie geometrycznych zależności (obiekt sterujący-obiekt sterowany) dla części importowanych z innych systemów (złożenie). 6. 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 niedawno Creo Parametric, w którym właśnie takie modelowanie jest możliwe ) Na koniec pytanie - czy ktoś z Państwa spotkał się z systemem, który w modelach importowanych rozpoznawałby regularność położenia dowolnych elementów (powtarzające się elementy identyfikowane automatycznie jako szyki)? Tomasz Luźniak GM System