Sketcher ConstrainPerpendicular/de

Beschreibung
Die Rechtwinkligkeitsbeschränkung bewirkt, dass zwei Linien senkrecht zueinander stehen oder dass zwei Kurven an ihrem Schnittpunkt senkrecht zueinander stehen. Linien werden als unendlich behandelt, und Bögen werden als Vollkreise/Ellipsen behandelt. Die Beschränkung ist auch in der Lage, zwei Kurven zu verbinden und sie an der Verbindungsstelle senkrecht zu zwingen, ähnlich wie die Tangentenbeschränkung.

Anwendung
Es gibt vier verschiedene Arten, wie die Beschränkung angewendet werden kann:
 * 1) zwischen zwei Kurven (nicht für alle Kurven verfügbar)
 * 2) zwischen zwei Endpunkten einer Kurve
 * 3) zwischen einer Kurve und einem Endpunkt einer anderen Kurve
 * 4) zwischen zwei Kurven an benutzerdefiniertem Punkt

Um eine rechtwinklige Beschränkung anzuwenden, sollte man die folgenden Schritte befolgen:
 * Wähle zwei oder drei Elemente in der Skizze aus.
 * Rufe die Beschränkung auf, durch anklicken des Symbols in der Werkzeugleiste, durch Auswahl des Menüelements oder durch Verwendung eines Tastaturkürzels.

Zwischen zwei Kurven (direkte Rechtwinkligkeit)


Zwei Kurven werden an ihrem Schnittpunkt (entweder real oder in der Verlängerung von Kurven) senkrecht zueinander gemacht, und der Schnittpunkt ist implizit. Dieser Modus wird angewendet, wenn zwei Kurven ausgewählt wurden.

Zulässige Auswahl: Wenn die direkte Rechtwinkligkeit zwischen ausgewählten Kurven nicht unterstützt wird (z.B. zwischen einer Linie und einer Ellipse), wird automatisch ein Hilfspunkt zur Skizze hinzugefügt und der rechtwinklige Durchgangspunkt angewendet.
 * Linie + Linie, Kreis, Bogen
 * Kreis, Bogen + Kreis, Bogen

Anders als bei der Tangentialität ist es vollkommen in Ordnung, den Rechtwinkligkeitspunkt zu rekonstruieren, indem man einen Punkt erzeugt und ihn darauf beschränkt, auf beiden Kurven zu liegen (und damit den Punkt auf den Schnittpunkt beschränkt).

Zwischen zwei Endpunkten (Punkt-zu-Punkt Rechtwinkligkeit)


In diesem Modus werden die Endpunkte deckungsgleich gemacht, und die Verbindung wird rechtwinklig gemacht. Dieser Modus wird angewendet, wenn zwei Endpunkte von zwei Kurven ausgewählt wurden.

Zulässige Auswahl:
 * Endpunkt der Linie/des Bogens/Ellipsenbogens + Endpunkt der Linie/des Bogens/Ellipsenbogens (d.h. zwei Endpunkte von zwei beliebigen Kurven)

Between curve and endpoint (point-to-curve perpendicularity)


In this mode, an endpoint of one curve is constrained to lie on the other curve, and the curves are forced perpendicular at the point. This mode is applied when a curve and an endpoint of another curve were selected.

Accepted selection:
 * line, circle, arc, ellipse, arc-of-ellipse +  endpoint of line/arc/arc-of-ellipse (i.e., any curve  +  endpoint of any curve)

Between two curves at point (perpendicular-via-point) (v0.15)


In this mode, two curves are made perpendicular, and the point of perpendicularity is tracked. This mode is applied when two curves and a point were selected.

Accepted selection: "Any point" can be a lone point, or a point of something, e.g. a center of a circle, an endpoint of an arc, or the origin.
 * any line/curve +  any line/curve  +  any point

For the constraint to work correctly, the point must be on both curves. So, as the constraint is invoked, the point will be automatically constrained onto both curves (helper constraints will be added, if necessary), and the curves will be forced perpendicular at the point. These helper constraints are plain regular constraints. They can be added manually, or deleted.

Compared to direct perpendicular, this constraint is slower, because there are mode degrees of freedom involved, but it supports ellipses.

The placement of the point before the constraint is applied is a hint for the solver for where the perpendicularity should be.

Scripting
Perpendicular Constraint can be created from macros and from the python console by using the following:

where:
 * Sketch is a sketch object
 * icurve1, icurve2 are two integers identifying the curves to be made perpendicular. The integers are indexes in the sketch (the value, returned by Sketch.addGeometry).
 * pointpos1, pointpos2 should be 1 for start point and 2 for end point.
 * geoidpoint and pointpos in PerpendicularViaPoint are the indexes specifying the point of perpendicularity.