Tutorial KinematicSkeleton/de

Einleitung
In dieser Anleitung geht es darum, einen einfachen 2D-Mechanismus zu erstellen und daran 3D-Objekte zu befestigen, hauptsächlich mit den Werkzeugen des externen Arbeitsbereichs Assembly3.

Diese Anleitung verwendet nicht das Skeleton-Sketch-Prinzip (siehe Assembly3 Create-Skeleton-Sketch auf GitHub).

Stattdessen werden PartDesign Bodies (Körper) verwendet, die jeweils nur eine  Skizze enthalten, um einen 2D-Mechanismus aufzubauen, ein Skizzen-Skelett.

Die Maße und die Farben wurden von der Anleitung SolveSpace tutorial übernommen, auf die sich auch die Assembly3-GitHub-Seite bezieht (siehe oben).

Skizzen-Skelett
Dieses sogenannte Skizzen-Skelett besteht aus mehreren einzelnen Körpern und einem  Assembly-Container. Um weitere Objekte befestigen zu können, wird jeder Körper in einen eigenen Assembly-Container gepackt.

2D-Body-Objekte
Die Körper (Bodies) und ihre Skizzen, die in diesem Zusammenbau (auch Baugruppe genannt) verwendet werden:
 * Eine Grundplatte (grün)
 * Eine Kurbel (blau)
 * Zwei bewegliche Scheiben (rot und grau)
 * Vier Verbindungsstangen (weiß, gelb, lila und braun)



Die Form kann von dem tatsächlichen Teil abweichen, aber die Position der Geometrien, die die Gelenke festlegen, müssen genau sein.

Übergeordneter Zusammenbau
Um die Positionen aller Körper festzusetzen oder zu steuern, braucht man ein Assembly-Objekt. Das fügt dem Konstruktionsbaum in der Baumansicht einen Ast für den Zusammenbau hinzu.
 * Die Schaltfläche drücken, um einen Zusammenbauast in der Baumansicht zu erstellen.

Unterbaugruppen
Diese Aktion wiederholt man, um für jeden Körper (Body) ein Assembly-Objekt zu erstellen, in dessen Parts-Container das jeweilige Body-Objekt gezogen wird. Danach setzt man den Körper in seiner Baugruppe fest:
 * 1) Das Assembly-Objekt aktivieren (Doppelklick).
 * 2) Einen Kreis/Bogen auswählen, der zum Body-Objekt gehört.
 * 3) Die Schaltfläche  drücken, um den Körper innerhalb seiner Unterbaugruppe festzusetzen.

Die Kurbelbaugruppe sollte beispielsweise so aussehen:



Konstruktionsbaum
In der Baumansicht werden alle Unterbaugruppenäste in den Parts-Container des übergeordneten Assembly-Objekts gezogen.



Jetzt sind sie bereit, angeordnet zu werden.

Festgesetzte Grundplatte
Als Erstes braucht man ein unbewegliches Teil. Um die Grundplatte komplett festzusetzen, würde man normalerweise eine Fläche auswählen, aber in diesem Falle funktioniert es auch mit einem Kreis.
 * 1) Einen Kreis der Grundplatte auswählen.
 * 2) Die Schaltfläche  drücken, um die Grundplatte festzusetzen.



Gelenke
Für scharnierartige Gelenke wählt man einen Kreis aus jeder Skizze aus und verwendet die Randbedingung Plane Coincidence. Diese setzt nicht nur die XY-Ebenen beider Elemente komplanar zueinander fest, sondern setzt auch ihre Z-Achsen fluchtend (kollinear) fest.
 * 1) Jeweils einen Kreis der zu verbindenden Objekte auswählen.
 * 2) Die Schaltfläche  drücken.

Grundplatte - Obere Scheibe


zuvor erstellte Gelenke erkennt man an der Darstellung ihrer Randbedingungen (rot).

Obere Scheibe - Stange 1
Das letzte Gelenk in dieser kinematischen Kette verbindet zwei Elemente, deren Z-Richtungen schon festgelegt sind, so dass nur noch eine Randbedingung Point on line fehlt
 * 1) Jewils einen Kreis der zu verbindenden Objekte auswählen.
 * 2) Die Schaltfläche  drücken.



If the 3 joints are colinear (those belonging to Crank and Rod 1), the solver might fail to rearrange the objects. In that case we need to help the solver and tilt one object (e.g. the Crank) manually using the Axial move tool.

Obere Scheibe - Stange 2
Eine weitere kinematische (Teil-)Kette startet mit den Randbedingungen Plane Coincidence.



Untere Scheibe - Stange 3
Und auch diese kinematische (Teil-)Kette wird mit der Randbedingung Point on line geschlossen.



Zum Verbinden beider Kinematischer Teilketten wird Stange 4 verwendet, mit der Randbedingung Plane Coincidence an einem Ende und der Randbedingung  Point on line am anderen.

Antrieb
Da Assembly3 keine Möglichkeiten bietet, kinematische Zusammenbauten zu steuern, braucht man externe Hilfe, wie diese Kinematiksteuerung. Damit diese Steuerung benutzt werden kann, muss das Label einer Randbedingung mit dem Suffix markiert werden, um sie zu einer antreibenden Randbedingung (einen Antrieb) zu machen. Es kann zur Verdeutlichung durch ein oder  abgetrennt werden, da die Steuerung nur prüft, ob das Label mit  endet.

Dafür wird das Label des Grundplatte-Kurbel-Gelenks zu geändert.

Fertiges Skelett
Der fertige kinematische Zusammenbau mit deaktivierter Darstellung von Elementen und Randbedingungen sollte ungefähr so aussehen:





3D-Geometrie befestigen
Meine Erwartungen bezüglich der Befestigung eines neuen Objekts an einem Basisobjekt, das zu einem kinematischen Zusammenbau gehört, sahen ungefähr so aus: Aber das wäre zu einfach gewesen.
 * Ein neues Objekt wird im Parts-Container des Basisobjekts abgelegt.
 * Die Position des neuen Objekts wird mit Bezug zum Basisobjekt ausgerichtet.
 * Festhalten des relativen Abstands und der Ausrichtung durch Aktivieren der Randbedingung Attachment.

Das Werkzeug Assembly3 ConstraintAttachment, wie alle Assembly3-Werkzeuge für Randbedingungen, baut für Positionierungsaufgaben auf der Verwendung von Element-Objekten und ihren Element-Koordinatensystemen (EKS) auf.

Daher ist das Befestigen von Objekten nur ein weiterer Weg Objekte zu einer (Unter-)Baugruppe hinzuzufügen.

Und so befestigt man z.B. Stange 4-3D an Stange 4:

Die Objekte haben unterschiedliche Ausrichtungen und das 3D-Objekt sollte einen Abstand zum 2D-Objekt haben.


 * 1) Ein neues Objekt in den Parts-Container des Basisobjekts ablegen.
 * 2) Zwei zusammenpassende Kreise oder Bögen auswählen.
 * 3) Die Schaltfläche  drücken.


 * [[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=]]

Es ist nun offensichtlich, dass das Werkzeug Assembly3 ConstraintAttachment den Abstand und die Ausrichtung zwischen den beiden Objekten ignoriert.

Auf jeden Fall ist die Position jetzt festgeleg und es müssen nur noch der Winkel manuell angepasst und der gewünschte Abstand festgelegt werden:
 * Die des ersten Elementes im Attachment-Container ändern, um die Ausrichtung anzupassen.
 * Die desselben Elements ändern, um einen Abstand festzulegen.

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:



Hinweise
The section Attaching 3D geometry just scratches the surface of extending a sub-assembly, and other constraints or combinations of constraints may be more suitable than the attachment constraint.

It is important to move such a kinematic assembly in tiny steps or the solver will give up and fail. It is almost impossible to use Move part or  Axial move for this task.

The Assembly3_ConstraintCoincidence constraint is used to drive the kinematic assembly, its property  (enabled by the property ) accepts positive or negative floating point numbers greater than 360 and so could do several full turns.