29 marca 2024


W rozmowach z konstruktorami (także na forach internetowych) bardzo często poruszany jest temat definicji mechanizmów w systemie CATIA V5. Wielu z tych, którzy tworzą swoje projekty w tym systemie i ma doświadczenie z pracy w innych systemach nie zdaje sobie sprawy z tego, że definicja relacji pomiędzy komponentami oraz ich wzajemne położenie (polecenia z grupy Assembly Constraints w środowisku Assembly Design) nie są równoważne z definicją mechanizmu!

Andrzej Wełyczko

Relacje typu Assembly Constraints pozwalają „jedynie” na zdefiniowanie wzajemnego położenia poszczególnych komponentów projektowanego wyrobu w przestrzeni 3D, na przykład współosiowość, zgodność (przyleganie płaszczyzn), odległość, kąt, itd. Oczywiście można zadać pytanie: skąd takie „ograniczenia” i dlaczego system nie tworzy w tym samym czasie par kinematycznych pomiędzy wskazanymi komponentami? Odpowiedzi należałoby szukać u twórców systemu. A ta pewnie byłaby zbliżona do mojej: nie każdy projekt musi zawierać definicję mechanizmu oraz możliwość symulacji jego ruchu i różnego typu analiz. Jeśli po zdefiniowaniu relacji typu Assembly Constraints trzeba sprawdzić kinematykę projektowanego wyrobu, to w systemie CATIA V5 definicję mechanizmu (czyli określenie par kinematycznych, a nie tylko wzajemnego położenia komponentów) wykonujemy w środowisku DMU Kinematics i co ważne, definicja par kinematycznych może być wykonana automatycznie na podstawie istniejących relacji typu Assembly Constraints.

definicja mechanizmu rys1
Rys. 1

Rozważmy przykład mechanizmu krzywka-popychacz (Rys. 1), który w najprostszym wariancie może być zbudowany z trzech komponentów (Korpus, Popychacz i Krzywka), a do definicji par kinematycznych wystarczy przygotować podstawowe elementy geometryczne (punkt, linia, krzywa, płaszczyzna, itp.). W każdym z tych komponentów trzeba zdefiniować wymagane elementy podstawowe (tu linie, krzywe, płaszczyzny oznaczone kolorem przypisanym do każdego komponentu). Trzeba także ustalić wzajemne położenie tych komponentów za pomocą poleceń z grupy Assembly Constraints:

  • Fix.1 – Sztywne ustalenie położenia Korpusu w przestrzeni projektowej:
    • Korpus ma odebrane wszystkie stopnie swobody,
  • Coincidence.2 – Współosiowość osi wałka Krzywki (żółta linia) z osią otworu w Korpusie (szara pozioma linia):
    • Krzywka może się obracać względem osi otworu w Korpusie,
    • Krzywka może się przesuwać wzdłuż osi otworu w Korpusie,
  • Offset.3 – Ustalenie położenia Krzywki względem Korpusu:
    • Krzywka nie może się przesuwać wzdłuż osi otworu w Korpusie,
    • Zamiast relacji Offset można zastosować relacje typu Coincidence – na przykład pomiędzy dwoma płaszczyznami zdefiniowanymi odpowiednio w modelu Krzywka i w modelu Korpus (płaszczyzna konturu Krzywki musi być w tym samym miejscu w przestrzeni 3D, w którym znajduje się oś Popychacza),
  • Coincidence.4 – Współosiowość osi Popychacza (fioletowa linia) z osią otworu w Korpusie (szara pionowa linia):
    • Popychacz może się obracać względem osi otworu w Korpusie,
    • Popychacz może się przesuwać wzdłuż osi otworu w Korpusie.

I tu dla niektórych pierwsze „rozczarowanie”: jak zdefiniować wzajemne powiązanie krzywki z popychaczem? W środowisku Assembly Design nie ma możliwości zdefiniowania relacji typu punkt ślizgający się po krzywej, krzywa ślizgająca się po krzywej czy krzywa tocząca się po innej krzywej – wszystkie te relacje są specyficzne dla definicji mechanizmu. Na przykład próba zastosowania relacji typu Coincidence nie daje oczekiwanego rezultatu, bo system pozwala na wskazanie punktu, linii lub płaszczyzny (Rys. 2) – nie można wskazać dwóch ślizgających lub toczących się po sobie krzywych.

Rys02 definicja mechanizmu catiav5
Rys. 2

Jeśli zadaniem konstruktora jest definicja mechanizmu, to kolejne kroki trzeba wykonać w środowisku DMU Kinematics. Zdefiniowane wcześniej relacje typu Assembly Constraints mogą być podstawą do definicji par kinematycznych – dlatego zastosowano polecenie Assembly Constraints Conversion (Rys. 3). Zanim jednak system zdefiniuje pary kinematyczne musi być zdefiniowany mechanizm – tu Mechanism.1.

Rys03 definicja mechanizmu catiav5
Rys. 3

Na podstawie Assembly Constraints system może rozpoznać dwie pary kinematyczne (Unresolved pairs: 2/2). Na tym etapie konstruktor musi zdecydować czy chce wykonać to rozpoznanie automatycznie (Rys. 4) czy ręcznie (Rys. 5).

Rys04 definicja mechanizmu catiav5
Rys. 4

Rys05 definicja mechanizmu catiav5
Rys. 5

Jeśli definicja par kinematycznych ma być wykonana ręcznie, to dla każdej pary komponentów (tu Korpus.1–Krzywka.1) system prezentuje listę relacji typu Assembly Constraints zdefiniowanych dla tych komponentów oraz proponuje parę kinematyczną (tu dla Offset.3 i Coincidence.2 system sugeruje parę typu Revolute).