Sketcher Examples/de

Einleitung
Ich denke der Arbeitsbereich Sketcher kann einige Beispiele gebrauchen, die nicht so detailliert sind wie Anleitungen oder Videos...



Filmscharnier
Ein Filmscharnier ist ein winziges Stück biegsamer Kunststoff, das die beiden Seiten eines Spritzgussobjekts, wie z.B. einen Kabelkanal mit einem Deckel oder die beiden Hälften einer Staubschutzkappe für einen Stecker.

Dieses Beispiel verwendet eine Art Master-Skizze, um darauf einige abhängige Skizzen aufzusetzen. Es zeigt auch, wie ein einfacher Klipp angefügt und animiert wird, der auf PartDesign-Formelementen und  Sketcher-Randbedingungen basiert. Die Verwendung von Ausdrücken, wie unten beschrieben, erfordert FreeCAD ab Version 0.21.



Basis-Skizze
Normalerweise wird ein Objekt in geschlossenem Zustand konstruiert. Später wird der bewegliche Teil um 180° umgeklappt, um in offenem Zustand gespritzt zu werden. Der biegsame Streifen wird im geschlossenen Zustand durch einen Kreisbogen dargestellt und im offenen Zustand durch eine gerade Linie; beide gehen vom gleichen Startpunkt aus. Der Mittelpunkt der Linie, die beide Endpunkte verbindet, gibt die Lage der Achse an, um die geklappt wird, die normal auf der Skizzenebene steht. (Der Punkt wird im Skizzenursprung positioniert, so dass die globale Achse, die normal auf der Skizzen steht, als Achse zum Umklappen genutzt werden kann)

(Einige ausgeblendete zusätzliche Erklärungen und eine Beschreibung des Arbeitsablaufs können da drüben ausgeklappt werden -->



Für einen Halbkreis ergibt sich die Bogenlänge aus dem Radius multipliziert mit Pi (l = r * Pi). Der Radius wird mit NeutralerRadius benannt und die Linie mit GestreckteLänge. Ein Ausdruck (expression) für die GestreckteLänge verbindet beide Werte:
 * Innerhalb derselben Skizze startet ein Ausdruck mit einem gefolgt von ArtDesWertes.NameDesWertes (ValueType.ValueName), um einen weiteren Wert zu adressieren.



Zwischenskizze
Der Bogen dieses Filmscharniers hat eine konstante Länge und einen variablen Radius. Eine Eingangsgröße ist NeutralerRadius der Basis-Skizze; um ihn in der Skizze zur Hand zu haben, wird er als externe Geometrie eingebunden und erhält das mit ReferenzRadius benannte anzeigende Maß (reference dimension).

Ein Tortenstück aus Hilfsgeometrie zeigt die Verbindung zwischen dem Bogen und dem Radius für einen gegebenen Winkel. EingangsLänge = ReferenzRadius * Pi und BogenLänge = DynamischerRadius * Pi * BogenWinkel / 180° mit konstanter Länge ergibt sich: ReferenzRadius * Pi = DynamischerRadius * Pi * BogenWinkel / 180° Und mit herausgekürztem Pi erhalten wir: ReferenzRadius = DynamischerRadius * BogenWinkel / 180° oder DynamischerRadius  = ReferenzRadius  * 180° / BogenWinkel
 * Der [[Image:Bound-expression.svg|16px]] Ausdruck für den Wert von DynamischerRadius:

Ein Filmscharnier ist meistens symmetrisch, daher wird ein weiterer Bogen mit demselben Mittelpunkt, genannt HalbBogen, als Ergebniselement verwendet und stellt eine Hälfte des Scharnierbogens dar.
 * Der [[Image:Bound-expression.svg|16px]] Ausdruck für den Wert von HalbBogen:





Filmscharnierskizze
Diese Skizze legt die Wandstärke und die angrenzende Geometrie des Filmschrniers fest. Dazu laden wir den halben Bogen der Zwischenskizze als externe Geometrie hinzu, um ihn als Basis für den Filmanteil zu verwenden. (ein Bruchteil von 180° in diesem Falle)

Dieses Filmscharnier ist so ausgelegt, dass sich die damit verbundenen Teile berühren, wenn das Objekt geschlossen ist. Dies kann erreicht werden durch das Berechnen eines Kreisbogens mit der erforderlichen Länge, dann das Erstellen eines Streifens mit konstanter Wandstärke und schließlich durch das Verrunden der Übergänge zwischen dem Streifen und den beiden Objekthälften. Der letzte Schritt verkürzt zwar die entstehende Schlaufe, aber in der Realität spielt dies keine Rolle, da der Bogen nie ganz kreisförmig sein wird, so hat die Verrundung zwar einen Einfluss auf den Krümmungsverlauf der Schlaufe, aber keinen Einfluss auf ihre Funktion.







Hinweis: Part Spiegeln akzeptiert nur die drei Basis-Ebenen und kann dadurch in so einem Falle nicht verwendet werden.
 * (Rückblickend war es eine weise Entscheidung dieses Beispiel mit der Kombination von PartDesign und Sketcher zu beginnen.)

Letztendlich legen zwei Parameter die Größe des Filmscharniers fest:
 * NeutralerRadius in der Basis-Skizze
 * Der Wert der Wandstärke in der Filmscharnierskizze



Biegen des Filmscharniers
Der Biegewinkel wird durch die Randbedingung BogenWinkel der Zwischenskizze gesteuert und kann in ihrem Einstellungseditor geändert werden. Aber wir sind ja richtige Konstrukteure und haben unsere Skizzen, Randbedingungen und Maße sinnvoll benannt und können daher den steuernden Winkel über Python ansprechen. Einige grundlegende Codezeilen zum Einbetten in einer Benutzerschnittstelle könnten so aussehen:

Eine kurze Erklärung:
 * : Zum Ansprechen des aktiven Dokuments mit einem Alias namens doc
 * Zum Ansprechen der relevanten Skizze mit dem Alias sketch.
 * Die Methode getObjectsByLabel gibt eine Liste von Objekten zurück und wir müssen den Index anhängen, um das erste Element der Liste auszuwählen. (Wir erwarten nicht, dass ein anderes Objekt dieselbe Benennung aufweist und müssen uns daher nicht um andere Elemente in der Liste kümmern.)
 * : Gibt den aktuellen Wert der maßlichen Randbedingung ArcAngle (BogenWinkel) zurück (an das Ausgabefenster)
 * : Setzt den Wert von ArcAngle auf
 * : Zum aktualisieren des ganzen Dokuments, um auch die Änderungen an den abhängigen Geometrien darzustellen.



Geometrien verbinden
Zwei Hälften eines Klipp-Objekts warten darauf mit dem Filmscharnier verbunden zu werden, eine an der statischen Seite und eine auf der beweglichen Seite.



Die statische Seite ist einfach:
 * 1) Den Körper (Body) aktivieren und die Eigenschaften position und orientation properties im Eigenschafteneditor anpassen, bis er zum Filmscharnier passt.
 * 2) Den Scharnierkörper aktivieren.
 * 3) Das Werkuzeug [[Image:PartDesign_Boolean.svg|16px]] PartDesign Boolesche Operation mit der (Standard-) Option Vereineigung auswählen.
 * 4) Im Dialog die Schaltfläche  drücken.
 * 5) Den Körper der statischen Hälfte des Klipps auswählen.
 * 6) Zum Beenden und Schließen des Dialogs OK drücken.



Aber die bewegliche Seite ist anders: die zugehörige Hälfte der Klippgeometrie muss in die richtige Lage bewegt werden, bevor die (Neu-) Berechnung einer Vereinigungsoperation gestartet wird.

An diesem Punkt vermisse ich eine Funktion "Befestigen mit Abstand" (Attachment with offset), wie die von Assembly3, zum Verknüpfen der Klippgeometrie mit einer der beweglichen Flächen. Aber nach etwas Herumprobieren und Feineinstellen habe ich herausgefunden:


 * [[Image:Std_Part.svg|16px]] Std Part and [[Image:PartDesign_Body.svg|16px]] PartDesign Body containers are not supported by [[Image:Part_EditAttachment.svg|16px]] Part Attachment.
 * While it is possible to use Attachment to align them, the attachment won't be parametrically linked.


 * Attachment can be applied to a PartDesign feature. This and features depending on it are repositioned according to the base geometry. But!:
 * Independent PartDesign features won't move and so it will change the resulting shape and break it in the end.
 * We are advised to keep features independent to avoid impacts due to the Topological naming problem.
 * PartDesign_Clone.svg PartDesign Clone creates a body with a single feature that can be use with Attachment.

With that in mind, a workflow could look like this:


 * 1) Select the body of the movable half.
 * 2) Use the PartDesign_Clone.svg Create a clone command.
 * 3) In the new body select the Clone object in the Tree view.
 * 4) Use the [[Image:Part_EditAttachment.svg|16px]] Part Attachment tool to add attachment properties to the Clone object.
 * 5) The Attachment dialog opens.
 * 6) * Select a vertex for the origin.
 * 7) * Select an edge for the first direction.
 * 8) * Select an edge for the second direction.
 * 9) * Probe the attachment modes to find the best fitting one.
 * 10) * Tweak rotation and coordinate values until until the geometry is in modelling position again.
 * 11) Press OK to close the dialog.
 * 12) With the hinge body still active select the [[Image:PartDesign_Boolean.svg|16px]] PartDesign Boolean tool.
 * 13) In the dialog press the  button.
 * 14) select the body of the movable half.
 * 15) Press OK to finish and close the dialog.



In retrospect it would have been wiser to provide the attachment geometry with the IntermediateSketch to avoid another source of the Topological naming problem.



Now the result should be a single solid clip, that can be closed and opened by changing the ArcAngle of the film hinge. Allowed angles: 0.1° to 180°, the film section must not get straight, and more than closed doesn't make sense. (At 180° the object may get fused at tangent or overlapping areas, but a little extra gap could help if that is not acceptable.)