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:


 * Die Behälter [[Image:Std_Part.svg|16px]] Std Teil (Part) und [[Image:PartDesign_Body.svg|16px]] PartDesign Körper (Body) werden nicht von [[Image:Part_EditAttachment.svg|16px]] Part Befestigen unterstützt.
 * Es ist zwar möglich, Befestigen zu verwenden, um die Behälter auszurichten, aber die Befestigung wird nicht parametrisch verknüpft.


 * Befestigen kann auf ein PartDesign-Formelement angewendet werden. Dieses und davon abhängige Formelemente werden mit Bezug zur Basisgeometrie verschoben. Aber!:
 * Unabhängige PartDesign-Formelemente werden sich nicht bewegen und daher kann sich die Ergebnisform ändern und schließlich zerbrechen.
 * Es wird geraten, Formelemente unabhängig zu halten, um Auswirkungen, die auf dem Problem der Topologischen Benennung basieren, zu vermeiden.
 * PartDesign_Clone.svg PartDesign Klon erstellt einen Körper mit einem einzigen Formelement, der mit Befestigen verwendet werden kann.

Mit diesem im Hinterkopf könnte ein Arbeitsablauf so aussehen:


 * 1) Den Körper (Body) der beweglichen Hälfte auswählen.
 * 2) Den Befehl PartDesign_Clone.svg Klon erstellen aufrufen.
 * 3) In der Baumansicht im neuen Körper (Body-Objekt) das Clone-Objekt auswählen.
 * 4) Das Werkzeug [[Image:Part_EditAttachment.svg|16px]] Part Befestigung aufrufen, um dem Clone-Objekt die Eigenschaften von Befestigung hinzuzufügen.
 * 5) Der Dialog Anhang wird geöffnet.
 * 6) * Einen Knoten für den Ursprung auswählen.
 * 7) * Eine Kante für die erste Richtung auswählen.
 * 8) * Eine Kante für die zweite Richtung auswählen.
 * 9) * Die Befestigungsmöglichkeiten durchprobieren, um die am besten passende herauszufinden.
 * 10) * Die Drehungs- und Koordinatenwerte anpassen, bis sich die Geometrie wieder in Konstruktionslage befindet.
 * 11) OK drücken, um den Dialog zu schließen.
 * 12) MIt noch immer aktiviertem Scharnierkörper das Werkzeug [[Image:PartDesign_Boolean.svg|16px]] PartDesign Boolesch Operation auswählen.
 * 13) Im Dialog die Schaltfläche  drücken.
 * 14) Den Körper der beweglichen Hälfte auswählen.
 * 15) OK drücken, um die Aktion zu beenden und den Dialog zu Schließen.



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