Tutorial KinematicSkeleton/de: Difference between revisions

From FreeCAD Documentation
(Created page with "300px|link= 16px|link= 300px|link= {{Caption|Kreise der Kurbel u...")
No edit summary
 
(37 intermediate revisions by 2 users not shown)
Line 7: Line 7:
|Time=40 Minuten
|Time=40 Minuten
|Author=[[User:FBXL5|FBXL5]]
|Author=[[User:FBXL5|FBXL5]]
|SeeAlso=[[Tutorial_KinematicAssembly/de|Anleitung KinematischerZusammenbau]], [[Tutorial_KinematicController/de|Anleitung Kinematiksteuerung]]
}}
}}


Line 98: Line 99:
====Obere Scheibe - Stange 1====
====Obere Scheibe - Stange 1====


The last link in this kinematic chain connects two Elements whose Z directions are already defined and a [[Image:Assembly_ConstraintPointOnLine.svg‎‎|16px]] [[Assembly3_ConstraintPointOnLine|Point on line]] constraint is all we need.
Das letzte Gelenk in dieser kinematischen Kette verbindet zwei Elemente, deren Z-Richtungen schon festgelegt sind, so dass nur noch eine Randbedingung [[Image:Assembly_ConstraintPointOnLine.svg‎‎|16px]] [[Assembly3_ConstraintPointOnLine/de|Point on line]] fehlt
# Jewils einen Kreis der zu verbindenden Objekte auswählen.
# Select a circle of each object to connect.
# Press the {{Button|[[Image:Assembly_ConstraintPointOnLine.svg‎‎|16px]] [[Assembly3_ConstraintPointOnLine|Create "PointOnLine" constraint]]}} button.
# Die Schaltfläche {{Button|[[Image:Assembly_ConstraintPointOnLine.svg‎‎|16px]] [[Assembly3_ConstraintPointOnLine/de|Create "PointOnLine" constraint]]}} drücken.


[[Image:Assembly3_SketchSkeleton-10.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-11.png|300px|link=]]
[[Image:Assembly3_SketchSkeleton-10.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-11.png|300px|link=]]
{{Caption|Circles on Upper Plate and Rod 1 selectedRelocated Rod 1, and tilted Crank and Upper Plate}}
{{Caption|Kreise der Oberen Scheibe und der Stange 1 ausgewähltVerschobene 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 [[Image:Assembly_AxialMove.svg|16px]] [[Assembly3_AxialMove/de|Axial move]] von Hand drehen.
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 [[Image:Assembly_AxialMove.svg|16px]] [[Assembly3_AxialMove|Axial move]] tool.


====Obere Scheibe - Stange 2====
====Obere Scheibe - Stange 2====


Another kinematic (sub-)chain starts with [[Image:Assembly_ConstraintCoincidence.svg‎‎|16px]] [[Assembly3_ConstraintCoincidence|Plane Coincidence]] constraints.
Eine weitere kinematische (Teil-)Kette startet mit den Randbedingungen [[Image:Assembly_ConstraintCoincidence.svg‎‎|16px]] [[Assembly3_ConstraintCoincidence/de|Plane Coincidence]].


[[Image:Assembly3_SketchSkeleton-12.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-13.png|300px|link=]]
[[Image:Assembly3_SketchSkeleton-12.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-13.png|300px|link=]]
{{Caption|Circles on Upper Plate (or Base) and Rod 2 selectedRelocated Rod 2}}
{{Caption|Kreise der Oberen Scheibe (oder der Grundplatte) und der Stange 2 ausgewähltVerschobene Stange 2}}


====Stange 2 - Untere Scheibe====
====Stange 2 - Untere Scheibe====


[[Image:Assembly3_SketchSkeleton-14.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-15.png|300px|link=]]
[[Image:Assembly3_SketchSkeleton-14.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-15.png|300px|link=]]
{{Caption|Circles on Rod 2 and Lower Plate selectedRelocated Lower Plate and tilted Rod 2}}
{{Caption|Kreise der Stange 2 und der Unteren Scheibe ausgewähltVerschobene Untere Scheibe und verschwenkte Stange 2}}


====Obere Scheibe - Stange 3====
====Obere Scheibe - Stange 3====


[[Image:Assembly3_SketchSkeleton-16.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-17.png|300px|link=]]
[[Image:Assembly3_SketchSkeleton-16.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-17.png|300px|link=]]
{{Caption|Circles on Upper Plate and Rod 3 selectedRelocated Rod 3 and rearranged upper kinematic sub-chain}}
{{Caption|Kreise der Oberen Scheibe und der Stange 3 ausgewähltVerschobene Stange 3 und umgeordnete obere kinematische Teilkette}}


====Untere Scheibe - Stange 3====
====Untere Scheibe - Stange 3====


And this kinematic (sub-)chain ends with a [[Image:Assembly_ConstraintPointOnLine.svg‎‎|16px]] [[Assembly3_ConstraintPointOnLine|Point on line]] constraint, too.
Und auch diese kinematische (Teil-)Kette wird mit der Randbedingung [[Image:Assembly_ConstraintPointOnLine.svg‎‎|16px]] [[Assembly3_ConstraintPointOnLine/de|Point on line]] geschlossen.


[[Image:Assembly3_SketchSkeleton-18.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-19.png|300px|link=]]
[[Image:Assembly3_SketchSkeleton-18.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-19.png|300px|link=]]
{{Caption|Circles on Lower Plate and Rod 3 selectedRelocated Rod 3 and rearranged ukinematic sub-chains}}
{{Caption|Kreise der Unteren Scheibe und der Stange 3 ausgewähltVerschobene Stange 3 und umgeordnete kinematische Teilketten}}


To connect both kinematic sub-chains we use Rod 4 with a [[Image:Assembly_ConstraintCoincidence.svg‎‎|16px]] [[Assembly3_ConstraintCoincidence|Plane Coincidence]] constraint on one end and a [[Image:Assembly_ConstraintPointOnLine.svg‎‎|16px]] [[Assembly3_ConstraintPointOnLine|Point on line]] constraint on the other.
Zum Verbinden beider Kinematischer Teilketten wird Stange 4 verwendet, mit der Randbedingung [[Image:Assembly_ConstraintCoincidence.svg‎‎|16px]] [[Assembly3_ConstraintCoincidence/de|Plane Coincidence]] an einem Ende und der Randbedingung [[Image:Assembly_ConstraintPointOnLine.svg‎‎|16px]] [[Assembly3_ConstraintPointOnLine/de|Point on line]] am anderen.


====Kurbel - Stange 4====
====Kurbel - Stange 4====


[[Image:Assembly3_SketchSkeleton-20.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-21.png|300px|link=]]
[[Image:Assembly3_SketchSkeleton-20.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-21.png|300px|link=]]
{{Caption|Circles on Crank and Rod 4 selectedRelocated Rod 4}}
{{Caption|Kreise der Kurbel und der Stange 4 ausgewähltVerschobene Stange 4}}


====Untere Scheibe - Stange 4====
====Untere Scheibe - Stange 4====


[[Image:Assembly3_SketchSkeleton-22.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-23.png|300px|link=]]
[[Image:Assembly3_SketchSkeleton-22.png|300px|link=]] [[Image:Button_right.svg|16px|link=]] [[Image:Assembly3_SketchSkeleton-23.png|300px|link=]]
{{Caption|Circles on Lower Plate and Rod 4 selectedRelocated Rod 4 and final layout of kinematic assembly}}
{{Caption|Kreise der Unteren Scheibe und der Stange 4 ausgewähltVerschobene Stange 4 und endgültige Anordnung des kinematischen Zusammenbaus}}


===Antrieb===
===Antrieb===


Since Assembly3 doesn't provide any means to control kinematic assemblies, we need external assistance such as this [[Tutorial_KinematicController|kinematic controller]]. To use this controller we need to mark one constraint's label with the suffix {{Incode|"Driver"}} to make it a driving constraint. It may be separated by a {{Incode|"."}} or {{Incode|"-"}} for clarity, as the controller will only check if the label ends with {{Incode|"Driver"}}.
Da Assembly3 keine Möglichkeiten bietet, kinematische Zusammenbauten zu steuern, braucht man externe Hilfe, wie diese [[Tutorial_KinematicController/de|Kinematiksteuerung]]. Damit diese Steuerung benutzt werden kann, muss das Label einer Randbedingung mit dem Suffix {{Incode|"Driver"}} markiert werden, um sie zu einer antreibenden Randbedingung (einen Antrieb) zu machen. Es kann zur Verdeutlichung durch ein {{Incode|"."}} oder {{Incode|"-"}} abgetrennt werden, da die Steuerung nur prüft, ob das Label mit {{Incode|"Driver"}} endet.


We therefore change the label of the Base-Crank joint to {{Incode|Base-Crank.Driver}}.
Dafür wird das Label des Grundplatte-Kurbel-Gelenks zu {{Incode|Base-Crank.Driver}} geändert.


===Fertiges Skelett===
===Fertiges Skelett===


Der fertige kinematische Zusammenbau mit deaktivierter Darstellung von Elementen und Randbedingungen sollte ungefähr so aussehen:
The finished kinematic assembly with deactivated representation of Elements and Constraints should look like this:


[[Image:Assembly3_SketchSkeleton-24.png|500px|link=]]
[[Image:Assembly3_SketchSkeleton-24.png|500px|link=]]
{{Caption|Finished assembly in the [[Tree_view|Tree view]] and the [[3D_view|3D view]]}}
{{Caption|Fertiger Zusammenbau in der [[Tree_view/de|Baumansicht]] und der [[3D_view/de|3D-Ansicht]]}}


[[Image:Assembly3_SketchSkeleton-27.gif|500px|link=]]
[[Image:Assembly3_SketchSkeleton-27.gif|500px|link=]]
{{Caption|GIF animation made from an image sequence from this [[Tutorial_KinematicController|kinematic controller]]}}
{{Caption|GIF-Animation, erstellt aus einer, mit der [[Tutorial_KinematicController/de|Kinematiksteuerung]] gespeicherten, Bildfolge}}


==3D-Geometrie befestigen==
==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:
My expectations about attaching a new object to a base object belonging to a kinematic assembly were something like:
* Ein neues Objekt wird im Parts-Container des Basisobjekts abgelegt.
* Put the new object into the base objects Parts container.
* Position the new object in relation to the base object.
* Die Position des neuen Objekts wird mit Bezug zum Basisobjekt ausgerichtet.
* Festhalten des relativen Abstands und der Ausrichtung durch Aktivieren der Randbedingung Attachment.
* Fix the relative offset and orientation using the Attachment constraint.
Aber das wäre zu einfach gewesen.
But that would have been too easy.




The [[Image:Assembly_ConstraintAttachment.svg‎‎|16px]] [[Assembly3_ConstraintAttachment|Assembly3 ConstraintAttachment]] tool, like any Assembly3 constraint tool, relies on the use of Element objects and their element coordinate systems (ECSs) for positioning tasks.
Das Werkzeug [[Image:Assembly_ConstraintAttachment.svg‎‎|16px]] [[Assembly3_ConstraintAttachment/de|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.
And so attaching objects is just another way of adding objects to a (sub-)assembly.




Und so befestigt man z.B. Stange 4-3D an Stange 4:
Let's attach Rod 4-3D to Rod 4 for example:


Die Objekte haben unterschiedliche Ausrichtungen und das 3D-Objekt sollte einen Abstand zum 2D-Objekt haben.
The objects have a different orientation and the 3D object should have an offset from the 2D object.


# Ein neues Objekt in den Parts-Container des Basisobjekts ablegen.
# Put the new object into the base objects Parts container.
# Zwei zusammenpassende Kreise oder Bögen auswählen.
# Select two corresponding circles or arcs.
# Press the {{Button|[[Image:Assembly_ConstraintAttachment.svg‎‎|16px]] [[Assembly3_ConstraintAttachment|Create "Attachment" constraint]]}}.
# Die Schaltfläche {{Button|[[Image:Assembly_ConstraintAttachment.svg‎‎|16px]] [[Assembly3_ConstraintAttachment/de|Create "Attachment" constraint]]}} 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=]]
:[[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=]]
{{Caption|Rod 4 (locked) and Rod 4-3D → Selected arcsRelocated Rod 4-3D (both ECSs are in the same place with identical orientation)}}
{{Caption|Stange 4 (festgesetzt) und Stange 4-3D → Bögen ausgewähltVeschobene Stange 4-3D (beide EKSe befinden sich an derselben Stelle, mit identischer Ausrichtung.)}}


It is now plain to see that the [[Image:Assembly_ConstraintAttachment.svg‎‎|16px]] [[Assembly3_ConstraintAttachment|Assembly3 ConstraintAttachment]] tool ignores the offset and orientation between both objects.
Es ist nun offensichtlich, dass das Werkzeug [[Image:Assembly_ConstraintAttachment.svg‎‎|16px]] [[Assembly3_ConstraintAttachment|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:
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 {{PropertyData|Offset, Angle}} of the first Element in the Attachment container to match the orientation.
* Die {{PropertyData/de|Offset, Angle}} des ersten Elementes im Attachment-Container ändern, um die Ausrichtung anzupassen.
* Set the {{PropertyData|Offset, Position, z}} of the same Element to apply an offset.
* Die {{PropertyData/de|Offset, 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.
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=]]
:[[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=]]
{{Caption|As attachedAngle adaptedOffset defined}}
{{Caption|Wie angefügtWinkel angepasstAbstand festgelegt}}


Wenn an jedes 2D-Objekt ein 3D-Objekt angefügt wurde, könnte es ungefähr so aussehen:
If there is a 3D object attached to each 2D object, it could look like this:


[[Image:Assembly3_SketchSkeleton-33.gif|500px|link=]]
[[Image:Assembly3_SketchSkeleton-33.gif|500px|link=]]
Line 200: Line 201:
==Hinweise==
==Hinweise==


Der Abschnitt [[#3D-Geometrie_befestigen|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.
The section [[#Attaching_3D_geometry|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 [[Image:Assembly_Move.svg‎‎|16px]] [[Assembly3_MovePart|Move part]] or [[Image:Assembly_AxialMove.svg‎‎|16px]] [[Assembly3_AxialMove|Axial move]] for this task.
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 [[Image:Assembly_Move.svg‎‎|16px]] [[Assembly3_MovePart/de|Move part]] oder [[Image:Assembly_AxialMove.svg‎‎|16px]] [[Assembly3_AxialMove/de|Axial move]] für diese Aufgabe zu verwenden.


The [[Image:Assembly_ConstraintCoincidence.svg‎‎|16px]] [[Assembly3_ConstraintCoincidence|Assembly3_ConstraintCoincidence]] constraint is used to drive the kinematic assembly, its property {{PropertyData|Angle}} (enabled by the property {{PropertyData|Lock Angle}}) accepts positive or negative floating point numbers greater than 360 and so could do several full turns.
Die Randbedingung [[Image:Assembly_ConstraintCoincidence.svg‎‎|16px]] [[Assembly3_ConstraintCoincidence/de|Assembly3_ConstraintCoincidence]] wird dazu verwendet, den kinematischen Zusammenbaut anzutreiben, ihre {{PropertyData/de|Angle}} (durch die {{PropertyData/de|Lock Angle}} aktiviert) akzeptiert positive oder negative Gleitkommazahlen größer als 360 und kann daher mehrere vollständige Drehungen ausführen.

Latest revision as of 13:40, 23 July 2022

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.