niedziela, 9 grudnia 2012

Filozofia współczesnego modelowania CAD 3D (Wstęp)

Obecne oprogramowanie CAD wymaga obrania pewnej drogi podczas modelowania, tak aby późniejsza rozbudowa lub modyfikacja modelu była efektywna. Nie wystarczy już nauka samych funkcji programu. Bo co z tego, że wiemy jak zamodelować wałek, skoro późniejsza pojedyncza zmiana spowoduje "rozsypanie się" modelu lub wymuszenie ręcznego wprowadzenia kolejnych kilkunastu zmian.

Tekst ten jest zbiorem odrobiny informacji wynikających z własnego doświadczenia powstałego w wyniku obcowania z programami CAD. Każdy punkt będzie opisywany na przykładzie dostępnego dla każdego programu FreeCAD.  Dodatkowo znajdą się krótkie uwagi jak te same operacje wyglądałyby w komercyjnym programie PTC Pro/ENGINEER[1], dostępnym na Linuksa do wersji Wildfire 3, obecnie przemianowanym na PTC Creo. Nowsze wersje: Wildfire 4 i Wildfire 5 (nazwany potem Creo 1.0) nie różnią się drastycznie możliwościami i interfejsem od WF 3. Dopiero Creo 2.0 przynosi sporo zmian - nie będę o nim wspominał, bo jeszcze z nim nie obcowałem.

[1] Nie będzie jednak zrzutów ekranu. Raz, że nie stać mnie na prywatną kopię Pro/E. Dwa, ze Creo 2.0, dostępne jako trial, nie ma wersji na Linuksa.

Banalny przykład

Jako przykładowy element do zamodelowania posłuży nam cześć zwana "flanszą". Chodzi mi tu o kołnierz często osadzany na końcach wałów maszyn z wykorzystaniem wpustu i otworami do przykręcenia tarczy lub innego kołnierza.

Drzewo (historia) cech

Warsztat Part Design z FreeCAD-a ma najwięcej wspólnego z modułem pojedynczej części znanym z innych programów CAD. Czy to w nim czy w Pro/E, po lewej stronie zobaczymy drzewo cech (ang. features), zawierające takie elementy jak szkice, wyciągnięcia, obroty (bryły obrotowe), fazy. Nie należy ich traktować jako osobnych elementów, a jako kolejne fazy modelowania bryły. Każda z cech ma wpływ na kolejne i na bryłę końcową, stąd można wprowadzać zmiany wracając do wcześniejszych (historycznych) cech.


W przyszłości, w FreeCAD-zie ma zostać wprowadzony obiekt Main Body, zbierający razem wszystkie cechy i zabezpieczający przed uszkodzeniem historii.
Dodatkowo można sprawdzić zależności (przydatne przy bardziej skomplikowanych drzewach) używając menu Tools-Dependency graph...


Pro/E: Drzewo wygląda podobnie jak w FreeCAD-zie. Umożliwia kilka dodatkowych operacji, jak np. przesuwanie cech w górę i dół drzewa.


Szkice

Praktycznie każda bryła jest tworzona z dwuwymiarowego szkicu przez wyciągnięcie, obrót lub inną operację. Utwórzmy szkic  na płaszczyźnie XY, z którego zbudujemy bryłę obrotową.


Zaczynamy rysować zgrubny kształt bez przywiązywania wagi do dokładności. Ważne jest by szkic był zamknięty. Dopiero później dodajemy więzy ustalając długości i położenie kolejnych odcinków oraz ich wzajemne relacje.  
Po lewej stronie widoczny jest licznik wolnych stopni swobody, dodawanie więzów można dopiero zakończyć, gdy wszystkie stopnie swobody zostaną zablokowane.  


Objawia się to dodatkowo  zmianą koloru szkicu na zielony. Ewentualnie może pojawić się komunikat o zastosowaniu sprzecznych, bądź wzajemnie dublujących się więzów. Wyjściem jest usunięcie problematycznych więzów.
Do ustalenia tego szkicu użyłem tylko więzów "pionowo" i "poziomo" oraz "punkt na obiekcie".

Wyjaśnienie należy się w kwestii użytych wymiarów. FreeCAD dopuszcza kilka rodzajów wymiarów: "zwykłą" odległość/długość, która może być ustawiona pod dowolnym kątem i jest zawsze dodatnia, oraz odległości ograniczone tylko do pionu lub poziomu i przybierające wartości zarówno dodatnie jak i ujemne. Należy unikać wymiarów pierwszego typu, bo tworzą one szkice mające wiele rozwiązań i będące podatne na nieprzewidziane zmiany kształtu podczas modyfikacji.
Drobna kwestia: ustaliłem odległość między największym promieniem kołnierza a samą tuleją (częścią o mniejszym promieniu) by zabezpieczyć się przed zniknięciem tej części kołnierza podczas późniejszych modyfikacji.

W szkicu powinno unikać się używania faz i zaokrągleń, które można dodać później. Dzięki temu upraszcza się szkic i można uzyskać pośredni, model przydatny np. do analiz metodą elementów skończonych (MES, ang. FEM).

Zwykle tworzenie szkicu przebiega wg procedury:
  1. Zgrubne narysowanie kształtu.
  2. Doprecyzowanie kształtu przez zastosowanie więzów.
  3. Ustalenie pozycji szkicu względem referencji (np. początku układu współrzędnych).
Skomplikowane szkice można budować po kawałku, powtarzając punkty 1 i 2.


Pro/E: Działanie szkicownika jest podobne, z tym, że tworzone są tam tzw. wymiary słabe (oznaczone na szaro), które symbolizują wolne stopnie swobody. Należy doprowadzić do usunięcie wszystkich słabych wymiarów. Pro/E używa pojedynczego, bardzo rozbudowanego narzędzia wymiarowania: można ustawiać wymiary poziomo, pionowo, normalnie do obiektu czy nawet wybierać między promieniem a średnicą.

Tworzenie bryły ze szkicu

Utwórzmy bryłę obrotową, mając zaznaczony wcześniejszy szkic.


Jako oś obrotu wybierzmy oś poziomą. Po wykonaniu tej operacji szkic w drzewie zostaje wciągnięty pod cechę Revolution. Jeśli operacja się nie powiodła, sprawdźmy czy szkic jest na pewno zamknięty i czy jego obrócenie nie powoduje podcinania bryły przez nią samą.

Zamiast osi poziomej można na tym samym szkicu narysować linię i po ustawieniu jej jako konstrukcyjnej, wykorzystać jako oś obrotu. 

Pro/E: Główną różnicą jest konieczność narysowania osi obrotu już w samym szkicu. Trochę inna jest też typowa kolejność działań. Wybiera się najpierw sposób tworzenia bryły, a dopiero potem płaszczyznę i na koniec przystępuje się do rysowania szkicu.

Wycięcia

Usuwanie materiału działa w podobny sposób jak jego dodawanie. Należy tu jednak koniecznie wybrać powierzchnię bazową znajdującą się na bryle. Wybierzmy czoło flanszy by zacząć szkicować przekrój rowka pod wpust.


Pro/E: Komercyjny CAD PTC wybacza w tym przypadku znacznie więcej niż FreeCAD. Przekrój wycięcia można rysować na dowolnej płaszczyźnie, w tym na dodatkowych płaszczyznach dodanych przez użytkownika. Szkice czasami nie muszą być nawet zamknięte - wystarczy wybrać z której strony linii ma być usuwany materiał.

Zewnętrzne referencje szkicownika i linie konstrukcyjne

Referencje geometrii zewnętrznej pozwalają łączyć szkic więzami z krawędziami lub punktami istniejącej już bryły. Szkicownik FreeCAD-a domyślnie oznacza te referencje kolorem fioletowym i mogą one powstać tylko z krawędzi leżących na płaszczyźnie szkicowania.


Wybrałem tu wewnętrzny okrąg, dzięki czemu rowek na wpust będzie podążał za zmianami średnicy wewnętrznej kołnierza. Głębokość rowka powinna być liczona od średnicy otworu. Stąd zastosowanie poziomej linii konstrukcyjnej.


Linie konstrukcyjne są domyślnie oznaczone kolorem niebieskim i powstają w wyniku konwersji zwykłych linii. W przeciwieństwie do nich nie są jednak uwzględniane w przekroju tworzonej bryły.
Uwaga: szkic musi być zamknięty, stąd powyżej, co jest słabo widoczne z uwagi na referencyjny okrąg, użyłem nie tylko trzech linii prostych ale i łuku.
Wykorzystałem także więz[1] symetrii. Powinno używać się go dość wcześnie, ponieważ odbiera zwykle kilka stopni swobody. Wstawiony późno może prowadzić do konfliktów.
[1] Według słownika nie istnieje słowo więz. Potrzebuję jednak tłumaczenia dla ang. słowa constraint.


Pro/E: Jego wyższością jest fakt krawędź referencyjna możne znajdować się również na innych równoległych płaszczyznach.

Wycięcia c. d.

Pozostaje wybrać, co ma ograniczać długość wycięcia. W tym przypadku chcę, żeby przebiegało przez całość otworu, niezależnie od tego jaki długi on jest.


Dlatego wybieram opcję "Przez wszystko".

Pro/E: Określanie długości wycięcia odbywa się analogicznie.

Otwory rozmieszone obwodowo (elementy powtarzające)

Nie ma sensu rysowania każdego otworu osobno. Wystarczy narysować jeden i powielić go.


Wybieram płaszczyznę szkicowania i od razu zaznaczam dwie krawędzie, które wykorzystam jako referencje. Chcę by otwory były zawsze prawidłowo umiejscowione i ich położenie podążało za wymiarami bryły kołnierza.


Rysuję dwie pionowe linie konstrukcyjne łączące referencyjne okręgi. Nadaję tym liniom więz "równa długość".


Mogę teraz ustalić otwór dokładnie w połowie odległości między oboma okręgami. Wydaje się to sensownym pomysłem, biorąc pod uwagę, że potrzebujemy miejsca na symetryczny element jakim jest łeb śruby lub podkładka.

Pro/E: Komercyjny program daje więcej możliwości w ustalaniu pozycji szkicu. Można np. wiązać wymiary prostymi relacjami w stylu sd1=sd3/4. Ma też narzędzie przeznaczone tylko do tworzenia otworów okrągłych, które zwalnia z konieczności tworzenia szkicu i może przyspieszyć pracę.


Kolejny krok to utworzenie powielenia biegunowego. Otwór zostanie skopiowany wokół osi bryły. Dodatkowo zaletą jest to, że średnica i położenie każdego z otworów będą zawsze zależne od otwory wzorcowego.

Wprowadzanie zmian 

Spróbujmy zmienić któryś element w historii cech np.:
  • wymiary szkicu bryły obrotowej,
  • ilość i średnicę otworów,
  • rozmiar rowka wpustowego.

W prawidłowo zbudowanym modelu, zmiany te nie powinny zmuszać użytkownika do wykonywania dodatkowych czynności (naprawiania modelu). 


Spostrzegawczy użytkownik zauważy, że drzewo cech przypomina uproszczoną listę czynności potrzebną do wykonania takiego elementu w metalu. Zamiast bryły obrotowej można by użyć dwóch występów (ang. pad) nałożonych na siebie, ale czy to rozwiązanie byłoby wygodne przy edycji? Raczej nie.

Pro/E: Wprowadzanie zmian odbywa się w analogiczny sposób. Jest kilka dodatkowych opcji, np. edycja wymiarów szkicu z lub bez otwierania go samego (odpowiednio Edit definition i Edit). Przydatne są też narzędzia redefinicji referencji w przypadku ich usunięcia lub uszkodzenia.

Fazy i zaokrąglenia

Te cechy, jako mało ważne i podatne na uszkodzenia, należy wprowadzać na samym końcu. Zwykle stosuję następującą kolejność:
  1. Bryły obrotowe, wyciągnięcia/występy.
  2. Wycięcia, usuwanie materiału.
  3. Pochylenia (np. odlewnicze) ścianek - niedostępne aktualnie w FreeCAD-zie.
  4. Fazy.
  5. Zaokrąglenia.

Oprócz GUI

Czasami warto wyjść poza to co oferuje sam graficzny interfejs użytkownika. Interpreter Pythona we FreeCAD-zie czy moduł Pro/Program w Pro/E pozwalają na budowanie skomplikowanych zależności, korzystanie z instrukcji warunkowych itp.

W przypadku części mających wiele wersji przydaje się tabela cech i wymiarów nazwana w Pro/E Family Table. Dzięki niej można by stworzyć cały typoszereg naszych kołnierzy.  FreeCAD nie ma wbudowanej takiej funkcji, ale używając Pythona i łącząc program np. z Libre Office Calc z wykorzystaniem PyUNO, da się uzyskać podobny efekt.

To dopiero wstęp

Poruszyłem tylko kilka podstawowych kwestii, które można sprawdzić używając FreeCAD-a. Gdyby jednak rozwinąć temat wykorzystując któryś z komercyjnych programów, tekst ten musiałby być znacznie dłuższy.

Siła wspominanego tutaj PTC Pro/E tkwi w możliwości tworzenia bardzo rozległych zależności. Nie bez powodu utworzony w 1985 PTC to akronim od Parametric Technology Corporation. Pro/ENGINEER przez lata był wzorcem nowoczesnego, parametrycznego programu CAD. Cechuje go pewien puryzm - nie ma zbędnych kreatorów, narzędzi czy bibliotek części. Twórcy dają tylko możliwość dostosowania programu pod siebie. Gdzieś między PTC a konstruktorem jest miejsce dla programisty, którzy stworzy kreatory i narzędzia specjalnie pod konkretną firmę.

Mówiąc o rozległych zależnościach miałem też na myśli możliwość modelowania od ogółu do szczegółu.  Można zacząć modelować część już w złożeniu, korzystając z obecnych tam referencji - np. robiąc otwór kołnierza zależny od średnicy i długości czopu wału.

Modelowanie bezpośrednie

Modelowanie bezpośrednie (ang. direct modelling) to ostatni krzyk mody. Pozwala na edycję modeli bez przejmowania się drzewem cech, a nawet modeli bez tego drzewa. Ładnie to wygląda na prezentacjach, ale czy jest niezawodne i precyzyjne? Czy odzwierciedla tok rozumowania konstruktora? Śmiem wątpić.

 Dziękuję wszystkim trzem osobom, które dotrwały do tego miejsca!
Ciąg dalszy może kiedyś nastąpi...

2 komentarze:

  1. Liczę na dalszy ciąg :).
    Pozdrawiam
    Maciej Stanisławski

    OdpowiedzUsuń
  2. nie za bardzo kumam o co chodzi z dwiema pionowymi i nadanymi im parametrami symetryczności - które to linie na rysunku??
    i nie mogę za chiny znaleźć szyku kołowego w helpie brak haseł pod patern i polar

    OdpowiedzUsuń