Tutorial KinematikSkelett

From FreeCAD Documentation
This page is a translated version of the page Tutorial KinematicSkeleton and the translation is 100% complete.
Other languages:
Tutorium
Thema
Assembly3, ein Kinematik-Skelett
Niveau
Grundwissen über Assembly3 und Sketcher ist hilfreich
Zeit zum Abschluss
40 Minuten
Autoren
FBXL5
FreeCAD-Version
0.20 und neuer
Beispieldateien
None
Siehe auch
Anleitung KinematischerZusammenbau, Anleitung Kinematiksteuerung

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)

Alle acht Skizzen sind unterschiedlich eingefärbt und durch das Verschieben ihrer übergeordneten Körper, manuell positioniert

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

Assembly-Container

Ü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.

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 Create "Locked" constraint drücken, um den Körper innerhalb seiner Unterbaugruppe festzusetzen.

Die Kurbelbaugruppe sollte beispielsweise so aussehen:

Der Unterbaugruppenast der Kurbel in der Baumansicht und die Kurbel mit ihrem festgesetzten Element in der 3D-Ansicht

Konstruktionsbaum

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

Zusammenbauast in der Baumansicht

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 Create "Locked" constraint drücken, um die Grundplatte festzusetzen.

Der ausgewählte Kreis → Die festgesetzte Grundplatte mit dem erzeugten Element-Objekt dessen Element-Koordinatemsystem (EKS) angezeigt wird (grün)

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 Create "Plane Coincidence" constraint drücken.

Grundplatte - Kurbel

Kreise auf Grundplatte und Kurbel ausgewählt → Verschobene Kurbel mit den erzeugten Element-Objekten und angezeigtem EKSen (grün)

Grundplatte - Obere Scheibe

Kreise der Grundplatte und der oberen Scheibe ausgewählt → Verschobene Obere Scheibe

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

Kurbel - Stange 1

Kreise der Kurbel und der Stange 1 ausgewählt → Verschobene Stange 1 und verschwenkte Kurbel

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 Create "PointOnLine" constraint drücken.

Kreise der Oberen Scheibe und der Stange 1 ausgewählt → Verschobene Stange 1, und verschwenkte Kurbel und Obere Scheibe

Wenn die Z-Achsen dreier Elemente oder Gelenke Parallel verlaufen und auf derselben virtuellen Ebene liegen, kann der Gleichungslöser bei ihrer Neuausrichtung in einem folgenden Schritt versagen, da er nicht entscheiden kann, in welche Richtung das mittlere Gelenk geschwenkt werden soll. Dies könnte der Fall sein, für das ausgewählte Element der Stange 1, dem Kurbel-Stange 1-Gelenk und dem Grundplatte-Kurbel-Gelenk, wie sie hier vorliegen. Wenn es so ist, mussman dem Löser helfen und ein Objekt (z.B. die Kurbel) mit dem Werkzeug Axial move von Hand drehen.

Obere Scheibe - Stange 2

Eine weitere kinematische (Teil-)Kette startet mit den Randbedingungen Plane Coincidence.

Kreise der Oberen Scheibe (oder der Grundplatte) und der Stange 2 ausgewählt → Verschobene Stange 2

Stange 2 - Untere Scheibe

Kreise der Stange 2 und der Unteren Scheibe ausgewählt → Verschobene Untere Scheibe und verschwenkte Stange 2

Obere Scheibe - Stange 3

Kreise der Oberen Scheibe und der Stange 3 ausgewählt → Verschobene Stange 3 und umgeordnete obere kinematische Teilkette

Untere Scheibe - Stange 3

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

Kreise der Unteren Scheibe und der Stange 3 ausgewählt → Verschobene Stange 3 und umgeordnete kinematische Teilketten

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.

Kurbel - Stange 4

Kreise der Kurbel und der Stange 4 ausgewählt → Verschobene Stange 4

Untere Scheibe - Stange 4

Kreise der Unteren Scheibe und der Stange 4 ausgewählt → Verschobene Stange 4 und endgültige Anordnung des kinematischen Zusammenbaus

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 "Driver" 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 "Driver" endet.

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

Fertiges Skelett

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

Fertiger Zusammenbau in der Baumansicht und der 3D-Ansicht

GIF-Animation, erstellt aus einer, mit der Kinematiksteuerung gespeicherten, Bildfolge

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:

  • 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.

Aber das wäre zu einfach gewesen.


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 Create "Attachment" constraint drücken.

Stange 4 (festgesetzt) und Stange 4-3D → Bögen ausgewählt → Veschobene Stange 4-3D (beide EKSe befinden sich an derselben Stelle, mit identischer Ausrichtung.)

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 Daten-EigenschaftOffset, Angle des ersten Elementes im Attachment-Container ändern, um die Ausrichtung anzupassen.
  • Die Daten-EigenschaftOffset, Position, z desselben Elements ändern, um einen Abstand festzulegen.

Falls die Eigenschaften des zweiten Elements geändert werden, erfolgt die Bewegung des Winkels und des Abstands in umgekehrter Richtung.

Wie angefügt → Winkel angepasst → Abstand festgelegt

Wenn an jedes 2D-Objekt ein 3D-Objekt angefügt wurde, könnte es ungefähr so aussehen:

Hinweise

Der Abschnitt 3D-Geometrie_befestigen kratzt nur an der Oberfläche des Themas Erweiterung von Unterbaugruppen und andere Randbedingungen oder Kombinationen von Randbedingungen können passender sein als die Randbedingung Attachment.

Es ist wichtig, dass ein kinematischer Zusammenbau nur in kleinen Schritten bewegt wird, da sonst der Gleichungslöser aufgibt und versagt. Es is fast unmöglich Move part oder Axial move für diese Aufgabe zu verwenden.

Die Randbedingung Assembly3_ConstraintCoincidence wird dazu verwendet, den kinematischen Zusammenbaut anzutreiben, ihre Daten-EigenschaftAngle (durch die Daten-EigenschaftLock Angle aktiviert) akzeptiert positive oder negative Gleitkommazahlen größer als 360 und kann daher mehrere vollständige Drehungen ausführen.