Piotr Knyziak p.knyziak@il.pw.edu.pl Jądra (kernele) modelowania przestrzennego ACIS i Parasolid. Na rynku dostępnych jest bardzo wiele programów CAD/CAM/CAE. Część z nich to pojedyncze wyspecjalizowane aplikacje służące do projektowania architektonicznego, inżynierskiego, mechanicznego, instalacji itp. ale w wielu wypadkach są to całe systemy bazujące na wspólnym kodzie i posiadające komplet wielu wyspecjalizowanych nakładek ułatwiających projektowanie, planowanie i wykonawstwo. Systemy takie zapewniają bezproblemową wymianę danych zaczynając od koncepcji projektu, przez projekt, analizę, aż po pełną dokumentację i wytwarzanie, ponieważ bazują na wspólnym formacie plików lub potrafią importować lub eksportować potrzebne dane. Wykorzystanie wspólnych bibliotek procedur pozwala obniżyć koszty tworzenia poszczególnych aplikacji lub nakładek a zarazem dzięki zwiększonym nakładom na jednostkową procedurę umożliwia stworzenie bardziej przemyślanych, zoptymalizowanych elementów składowych. Nowe ulepszone wersje programów i nakładek pojawiają się w coraz krótszych odstępach czasu. Tendencja do stosowania wspólnych elementów bazowych i szybkiego wypuszczania na rynek nowych wersji posuwa się jeszcze dalej. Kilka firm specjalizuje się w tworzeniu samych jąder programów 3D, w postaci bibliotek procedur, które mogą być stosowane w systemach CAD/CAM/CAE i innych specjalistycznych aplikacjach wymagajacych zaawansowanych możliwości modelowania bryłowego. Jądra tworzone są i udostępniane firmom pragnącym stworzyć własny system. Pozwala to bez ponoszenia dużych kosztów związanych z tworzeniem podstaw aplikacji zbudować na bazie takiego jądra własny interfejs użytkownika i w minimalnym czasie wejść na na rynek. Oczywiście pojawiają się koszty związane z zakupem licencji na stosowanie jądra, szkoleniami ale w zamian otrzymuje się program bazujący na sprawdzonych i zoptymalizowanych algorytmach oraz w pełni współpracujący, wymieniający dane z innymi produktami istniejącymi na rynku a to jest chyba najważniejszy atut tego rozwiązania. Kernele Określenie kernel pochodzi z terminologii UNIX owej i oznacza najważniejszą, bazową część systemu operacyjnego. Jest ona wykorzystywana przez pozostałe elementy systemu operacyjnego oraz aplikacje. Dla programów CAD/CAM/CAE, kernel oznacza jądro modelowania przestrzennego. Jest to podstawowa część programu, która musi być załadowana do pamięci operacyjnej. Kernel jest biblioteką złożonych, zoptymalizowanych algorytmów matematycznych. Jako taki nie jest bezpośrednio wykorzystywany przez użytkownika. Znajduje zastosowanie pośrednio dzięki aplikacji, która się do niego odwołuje. Zastosowanie tego samego jądra umożliwia przenoszenie obiektów pomiędzy różnymi programami (dzięki wspólnemu formatowi plików). Jednoznaczna wymiana danych modelu geometrycznego pomiędzy aplikacjami jest bardzo atrakcyjna dla firm produkcyjnych. Mogą one mieć korzyści z integracji oprogramowania, które jest dostarczane przez wielu czołowych twórców systemów CAD/CAM/CAE. Ponieważ ciągle rośnie liczba aplikacji wykorzystujących czołowe kernele, staje się to zachętą dla innych twórców systemów i programów CAD, aby powiększać tą ''rodzinę''. 1
ACIS ACIS 3D Toolkit jest głównym produktem firmy Spatial, obecnie przejętym przez Dassault Systemes. Jest on dominującym kernelem pod względem liczby użytkowników końcowych. Jest to jądro modelowania geometrycznego 3D dla tworzenia aplikacji MCAD/CAM /CAE i AEC. Obecnie na rynku dostępna jest wersja ACIS 6.3. ACIS jest zestawem procedur napisanych w C++ zorientowanych obiektowo. Zawiera 35 bibliotek DLL i integruje modelowanie krawędziowe, powierzchniowe i bryłowe w topologii zarówno powielonej jak i niepowielonej. ACIS jest licencjonowany przez wiele firm software owych, przedsiębiorstw i uczelni zajmujących się rozwijaniem aplikacji do modelowania 3D. Licencje te udzielane są w różnych zakresach od podstawowej do wyspecjalizowanych w zależności od potrzeb licencjobiorcy. W grupie aplikacji wykorzystujących to jądro znajdują się: - AutoCAD i Mechanical Desktop (Autodesk) - CADKEY (CADKEY Corp) - IronCAD (Visionary Design Systems) - MSC/Nastran for Windows i Working Model FEA (MSC.Software) - Vellum Solids (Ashlar) i inne. Ponadto ACIS jest jądrem dla aplikacji tworzonych przez koncerny przemysłowe dla własnych potrzeb: AlliedSignal, Boeing, Daimler-Benz, Ford, Lockheed Martin, Northrop Grumman, Sony i inne. ACIS daje licencjobiorcom bogaty wybór operacji geometrycznych dla konstruowania i modyfikowania modelu. Dzięki dopracowanym regułom zapisu matematycznego (Laws Symbolic Math Interface) oraz zastosowaniu NURBS integruje modelowanie powierzchniami i bryłami oraz pozwala tworzyć powierzchnie, które były wcześniej niedostępne w aplikacjach do modelowania 3D. Najważniejsze możliwości kernela ACIS: Zasadniczy rendering cieniowanie płaskie, Phong i Gouraud. Ponadto funkcje do manipulowania tłem, światłami i materiałami. Obracanie profilem - element bryłowy powstaje w wyniku obracania płaskiego profilu wokół osi. Obwód profilu kształtuje powierzchnię bryły. Połączenia standardowe i zaawansowane ścinanie i zaokrąglanie połączeń powierzchni i brył. Połączenia typu: stały promień połączenia na krawędzi, zmienny promień połączenia na krawędzi, połączenia na wierzchołku oraz połączenia krawędźpowierzchnia, powierzchnia- powierzchnia i krawędź-krawędź. Operacje Boole a suma, część wspólna, różnica. 2
Komórkowa topologia pomocnicza struktura danych dla modelowania komórkowych modeli (np. bryła wykonana z dwóch materiałów połączonych ze sobą może zostać zamodelowana przy wykorzystaniu dwóch komórek z dołączonymi do nich różnymi atrybutami). Prześwit oblicza prześwit pomiędzy dwoma bryłami lub powierzchniami. Regiony dopasowuje powierzchnię do zamkniętej pętli zbudowanej z krzywych Ścianki generuje i kontroluje aproksymację wielokątami dowolnej powierzchni lub brył Lista operacji zapis operacji modelowania z wykorzystaniem ACIS Charakterystyczne atrybuty zawiera nazwy, numery, napisy, wektory, położenie i inne atrybuty obiektu lub grupy obiektów Tworzenie i analiza geometrii zawiera linie, krzywe, łuki, płaszczyzny, krawędzie, graniastosłupy, sześciany, stożki, sfery, splajny, torusy i inne. ACIS oblicza długość, pole powierzchni i właściwości fizyczne brył. Historia i przewijanie narzędzia do tworzenia, przechowywania i przemieszczania się po historii modelu (cofania i powracania). Historia i przewijanie w postaci struktury drzewa pozwalające na wiele odgałęzień. Przecięcia narzędzia związane z przecięciami (krzywa / krzywa, powierzchnia / powierzchnia) w ramach rozszerzeń dla krzywych i powierzchni, sprawdzania promieni, i obliczania obrazu Reguły reprezentacja symboliczna równań użytych do rozwiązania złożonych, ogólnych problemów matematycznych. Reguły używane są w ACIS do definiowania geometrii, wliczając w to krzywe, powierzchnie, leżące i nie leżące w jednej płaszczyźnie odsunięcia i obrotów Powlekanie tworzy powierzchnię styczną do serii krzywych Powierzchnie siatkowe interpoluje powierzchnię poprzez dwukierunkową (u i v) sieć krzywych. Jeśli wszystkie krzywe przecinają się to powierzchnia przechodzi przez krzywe i ich przecięcia. Jeśli którakolwiek z krzywych u nie przecina wszystkich krzywych v w tym samym punkcie to przecięcie jest interpolowane. Odsunięcie tworzy krawędzie i powierzchnie, które są odsunięte o pewną odległość od krawędzi i powierzchni bazowych Open GL cieniowanie w czasie rzeczywistym i bezpośrednia interakcja dla obiektów wykorzystujących OpenGL API Zarządzanie częściami wsparcie dla grupowania elementów w części w celu zapisywania, odtwarzania i powielania. Stałe ID generuje i dodaje identyfikator do tworzonych obiektów Wybiórcze operacje Boole a pozwala na szybką kombinację dwu lub więcej brył z dużą elastycznością Powlekanie powierzchniami tworzenie powierzchni przechodzącej przez serię krzywych Modyfikowanie powierzchni niejednolite skalowanie, skręcanie, rozciąganie i zwężanie obiektów 3
Wykorzystanie splajnów modelowanie skomplikowanych krzywych, powierzchni i przecięć powierzchni z wykorzystaniem B-splajnów Profilowanie wyciąga profile po ścieżce i tworzy powierzchnie lub bryły W wersji ACIS 5.0 zaimplementowano modelowanie z uwzględnieniem tolerancji. Obecna wersja udostępnia modelowanie z tolerancjami w dwu postaciach: - tolerant friendly dla pracy z obiektami zawierającymi niedokładności (wynikłe np. z przenoszenia danych pomiędzy aplikacjami) - tolerant hot dla tworzenia geometrii w przypadkach gdy da to lepszy efekt niż wykorzystanie precyzyjnych danych ACIS Geometry Bus to połączenie aplikacji bazujących na tym jądrze i formatu zapisu danych SAT. Jądro ACIS zapisuje dane w formacie SAT, który inne aplikacje bazujące na tym jądrze odczytują bezpośrednio. Pozwala to uniknąć interpretacji i tłumaczenia z jednego formatu na inny co jest najczęstszym powodem błędów i przekłamań występujących przy przekazywaniu danych pomiędzy kooperantami. Parasolid Parasolid jest uznawanym za jedno z najlepszych w świecie, stosowanych przemysłowo jąder modelowania bryłowego. Został zaprojektowany jako narzędzie do modelowania brył, które dokładnie oddaje powierzchnie ograniczające bryłę, nawet gdy są to powierzchnie swobodne. Ma zastosowanie w mechanicznych aplikacjach CAD/CAM/CAE. Program był tworzony przez EDS Unigraphics w Cambridge (UK). Poprzednio znany był jako Shape Data. Zespół z Cambridge od początku lat 70-tych był pionierem na polu modelowania bryłowego. Parasolid zapewnił systemowi Unigraphics dobre i silne narzędzie do modelowania. Obecnie na rynek wprowadzona została wersja Parasolid v12.1. Parasolid jest dostarczany w postaci biblioteki ponad 600 obiektowo zorientowanych procedur, które mogą być stosowane w systemach CAD/CAM/CAE i innych 4
specjalistycznych aplikacjach wymagajacych zaawansowanych możliwości modelowania bryłowego. Parasolid jest wykorzystywany w aplikacjach UGS Unigraphics i Solid Edge oraz licencjonowany przez twórców systemów CAD/CAM/CAE np., SolidWorks firmy Dassault Systems, MicroStation firmy Bentley, CADKEY, Design Space firmy Ansys. Najbardziej znanymi aplikacjami, wykorzystującymi Parasolid są: Unigraphics, Solid Works, Solid Edge, Design Wave, Microstation oraz aplikacje firm The MacNeal-Schwendler i Mechanical Dynamics. Parasolid jest również stosowany do tworzenia aplikacji przez takie koncerny przemysłowe jak Boeing, General Motors Hitachi Research, Mitsubishi Motors, Pratt & Whitney, British Aerospace i General Electric. Wspólny format plików zapewnia wymianę danych pomiędzy wewnętrznymi systemami tych firm i systemami kooperantów. Parasolid jest jądrem, które daje informatykom możliwość tworzenia zaawansowanych aplikacji do modelowania bryłowego. Możliwości modelowania są porównywalne z tymi, które zostały zaprezentowane dla ACIS: Pełna integracja krzywych i powierzchni typu NURBS. Tworzenie elementów bryłowych (bloki, stożki, sfery itp). Umożliwia różne metody wymiarowania. Narzędzia do zwiększania rozdzielczości. Wykorzystanie algebry Boole'a. Różnorodna edycja modelu przez lokalne operacje (przesuwanie, usuwanie powierzchni, zmiany powierzchni). "Tolerant Modeling" umożliwia modelowanie importowanych danych w zakresie zadanych tolerancji. Pełne możliwości wygładzania i połączeń powierzchni dowolnego typu. Przekształcanie powierzchni w bryły (dla modelowania obróbki blach). Wymagania geometryczne i topologiczne. Określanie klas i obliczanie minimalnych odległości. Określanie masowych i bezwładnościowych właściwości. Interfejs do importowania geometrii z innych systemów. Obsługa szerokiego zakresu formatów do eksportu danych (import i eksport danych jest jednym z elementów kernela, na który kładziony jest szczególny nacisk). Graficzna prezentacja danych w formie modeli prętowych, linii ukrytych, cieniowania powierzchni. Procedury GO (Graphical Output) umożliwiające obsługę różnego typu sterowników. Koncepcja EDS Unigraphics zakładała, że model numeryczny będzie mógł być wykorzystywany równolegle przez wiele aplikacji. Wynika z tego konieczność jednoznacznej wymiany danych pomiędzy takimi systemami. Zastosowanie Parasolid do wymiany danych modeli bryłowych daje 100% pewności, podczas gdy konwersja danych za pomocą formatów IGES, STEP napotyka często na liczne problemy: błędy geometrii, małe szczeliny czy też 5
inne niedokładności. Funkcja Parasolid'a "Tolerant Modeling" umożliwia często poprawny import danych z formatu IGES, STEP, podczas gdy inne programy wymagają dodatkowych poprawek w geometrii, aby model z nieciągłościami mógł być zastosowany. "Pipelined Parasolid" zapewnia wymianę danych pomiędzy wszystkimi systemami opartymi na technologii Parasolid co całkowicie eliminuje potrzebę konwersji modelu, więc problemy związane z niedokładnością nie wystepują. Parasolid XT / Enhanced XT (ext). W pod koniec 1997 roku firma Unigraphics Solutions opublikowała opis formatu pliku Parasolid XT. W ten sposób przyczyniła się w znacznym stopniu do ujednolicenia sposobów wymiany danych geometrycznych. Powstanie tego formatu było odpowiedzią na wiele pojawiających się postulatów użytkowników systemów CAD/CAM/CAE na całym świecie i stanowi znaczący krok na drodze ułatwienia transferu danych dotyczących geometrii. W najnowszej wersji Parasolid v12.1 wprowadzono format ext, który pozwala na wymianę niegeometrycznych informacji o cechach materiałowych i procesie produkcji.. Format ten rozszerza możliwości wcześniejszej wersji dzięki zastosowaniu technologii XML, wykorzystywanej w rozwiązaniach Internetowych. 6
Współpraca [RAMKA] W dniu 27 lutego 2001 roku przedstawiciele Spatial Corp. i UGS Parasolid podpisali umowę dotyczącą współpracy w zakresie polepszania wymiany danych 3D pomiędzy własnymi jądrami modelowania geometrycznego. Zgodnie z warunkami umowy w celu ulepszenia zgodności pomiędzy tymi szeroko użytkowanymi standardami firmy te wymienią się licencjami na poszczególne technologie modelowania 3D. Ponadto Spatial dostarczy UGS Parasolid translatory dla standardowych i własnych formatów CAD, w tym IGES, STEP i CATIA. Ta współpraca na pewno będzie miała korzystny wpływ zarówno dla obydwu firm jak i użytkowników aplikacji bazujących na tych jądrach. Jeśli chodzi o same firmy to rynek wymaga obecnie aby dostarczać nowy produkt w jak najkrótszym czasie, w najwyższej jakości i za najniższą cenę a nowe wersje kerneli pod tym względem na pewno będą bardzo dobrą bazą do tworzenia aplikacji. Użytkownicy, czyli projektanci i inżynierowie, zgodnie z obecnymi wymaganiami efektywności pracy muszą mieć zdolność bezbłędnej wymiany danych pomiędzy różnymi aplikacjami, korzystającymi z różnych formatów, i to bez powiększania kosztów ze względu na przenoszenie danych. Nowe wersje aplikacji na pewno będą to umożliwiały. Porozumienie pomiędzy firmami, które mają największy udział w rynku kerneli powinno zaowocować rozwiązaniem większości problemów z wymianą danych. Dzięki osiągnięciu większej zgodności najwięcej powinniśmy zyskać my, czyli końcowi użytkownicy. Więcej informacji na stronie: http://www.spatial.com/catalog/press_room/pr/2001/2/983233406/index.html Bibliografia [RAMKA] http://www.spatial.com/ http://www.parasolid.com 7