Tutorial KinematicSkeleton/pl

Wprowadzenie
Ten poradnik prezentuje, jak zbudować prosty mechanizm 2D i dodać elementy przestrzenne, głównie przy użyciu narzędzi z zewnętrznego środowiska Złożenie 3.

Ten poradnik nie wykorzystuje zasady szkicu szkieletu (patrz Złożenie 3 Create-Skeleton-Sketch na GitHub).

Zamiast tego użyjemy Zawartości środowiska Projekt Części zawierającej tylko jeden  Szkic, aby zbudować mechanizm 2D, czyli szkielet wielu szkiców.

Wymiary, a także kolory, pochodzą z poradnika SolveSpace, do którego odwołuje się strona Złożenie 3 z GitHub (patrz wyżej).

Szkielet wieloszkieletowy
Ten tzw. szkielet wieloszkicowy składa się z kilku indywidualnych Zawartości oraz kontenera  Złożenia. Aby móc dołączyć kolejne obiekty, każda bryła jest umieszczana w osobnym kontenerze Złożenia.

Obiekty Zawartości 2D
Zawartości, oraz ich szkice, które są wykorzystywane w tym montażu:
 * Płyta podstawy (zielona),
 * Korba (niebieska),
 * Dwie ruchome płyty (czerwona i szara),
 * Cztery korbowody (biały, żółty, fioletowy i brązowy).



Kształt może odbiegać od kształtu rzeczywistej części, ale położenie złącza definiującego geometrię musi być dokładne.

Złożenie nadrzędne
Aby ustalić lub kontrolować pozycje wszystkich Zawartości potrzebujemy Obiektu Złożenia. Dodaje on gałąź złożenia do Widoku drzewa
 * Naciśnij przycisk, aby utworzyć gałąź złożenia w Widoku drzewa.

Złożenia podrzędne
Powtórz powyższą czynność, aby utworzyć obiekt Złożenia dla każdej Zawartości i przeciągnij ją go jej kontenera Części. Następnie połącz Zawartość z jej Złożeniem:
 * 1) Uaktywnij obiekt Złożenie (podwójne kliknięcie).
 * 2) Zaznacz okrąg / łuki należące do obiektu Zawartość.
 * 3) Naciśnij przycisk, aby przytwierdzić Zawartość w jej złożeniu podrzędnym.

Na przykład Złożenie korbowe powinno wyglądać następująco:



Drzewo złożenia
W widoku Drzewa przeciągnij wszystkie gałęzie złożeń podrzędnych do kontenera Części obiektu nadrzędnego Złożenia.



Teraz są one gotowe do ułożenia.

Nieruchoma płyta podstawy
Najpierw potrzebujemy elementu nieruchomego. Aby całkowicie zamocować Bazę, zwykle wybralibyśmy ścianę, ale w tym przypadku równie dobrze sprawdzi się okrąg.
 * 1) Wybierz okrąg w części bazowej.
 * 2) Naciśnij przycisk, aby ustalić Bazę.



Połączenia
W przypadku przegubów wybieramy jeden okrąg z każdego szkicu i używamy funkcji Wiązanie zbieżności. Wiązanie to nie tylko ustawia płaszczyzny XY obu elementów współbieżnie, ale także ustawia ich osie Z współbieżnie.
 * 1) Wybierz okrąg każdego obiektu, który chcesz połączyć.
 * 2) Naciśnij przycisk.

Base - Upper Plate


Previously created joints can be identified by their constraint representations (red).

Upper Plate - Rod 1
The last link in this kinematic chain connects two Elements whose Z directions are already defined and a Point on line constraint is all we need.
 * 1) Select a circle of each object to connect.
 * 2) Press the  button.



If the Z axes of three elements or joints are parallel and lie on the same virtual plane, the solver may fail to rearrange them in a following step because it is unable to decide in which direction the middle joint should be rotated. This can occur for the Rod 1 element, the Crank - Rod 1 joint, and the Base - Crank joint we have here. If this happens we need to help the solver and rotate one object (e.g. the Crank) manually using the Axial move tool.

Upper Plate - Rod 2
Another kinematic (sub-)chain starts with Plane Coincidence constraints.



Lower Plate - Rod 3
And this kinematic (sub-)chain ends with a Point on line constraint, too.



To connect both kinematic sub-chains we use Rod 4 with a Plane Coincidence constraint on one end and a  Point on line constraint on the other.

Actuator
Since Assembly3 doesn't provide any means to control kinematic assemblies, we need external assistance such as this kinematic controller. To use this controller we need to mark one constraint's label with the suffix to make it a driving constraint. It may be separated by a or  for clarity, as the controller will only check if the label ends with.

We therefore change the label of the Base-Crank joint to.

Finished skeleton
The finished kinematic assembly with deactivated representation of Elements and Constraints should look like this:





Dołączanie geometrii w przestrzeni 3D
My expectations about attaching a new object to a base object belonging to a kinematic assembly were something like: But that would have been too easy.
 * Put the new object into the base object's Parts container.
 * Position the new object in relation to the base object.
 * Fix the relative offset and orientation using the Attachment constraint.

The Assembly3 ConstraintAttachment tool, like any Assembly3  constraint tool, relies on the use of Element objects and their element coordinate systems (ECSs) for positioning tasks.

And so attaching objects is just another way of adding objects to a (sub-)assembly.

Let's attach Rod 4-3D to Rod 4 for example:

The objects have a different orientation and the 3D object should have an offset from the 2D object.


 * 1) Put the new object into the base object's Parts container.
 * 2) Select two corresponding circles or arcs.
 * 3) Press the  button.


 * [[Image:Assembly3_SketchSkeleton-28.png|200px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-29.png|200px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-30.png|200px|link=]]

It is now plain to see that the Assembly3 ConstraintAttachment tool ignores the offset and orientation between both objects.

However the position is already defined as we wanted and so we only need to adapt the angle manually and define the desired offset:
 * Set the of the first Element in the Attachment container to match the orientation.
 * Set the of the same Element to apply an offset.

In case we set the properties of the second Element, the movement of angle and offset would go in the opposite direction.
 * [[Image:Assembly3_SketchSkeleton-30.png|200px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-31.png|200px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-32.png|200px|link=]]

If there is a 3D object attached to each 2D object, it could look like this:



Uwagi
Sekcja Dołączanie geometrii w przestrzeni 3D tylko pokazuje zarys możliwości rozbudowy podzespołu, a inne wiązania lub kombinacje wiązań mogą być bardziej odpowiednie niż wiązanie dołączania.

Ważne jest, aby przesuwać taki zespół kinematyczny w małych krokach, w przeciwnym razie solver podda się i zawiedzie. Prawie niemożliwe jest użycie funkcji Przenieś część lub  Przesunięcie osiowe dla tego zadania.

Funkcja Wiązanie zbieżności jest używana do sterowania zespołem kinematycznym, jego właściwość  (włączona przez właściwość ) przyjmuje dodatnie lub ujemne liczby zmiennoprzecinkowe większe niż 360, więc może wykonać kilka pełnych obrotów.