Sketcher ConstrainCoincident/de: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav/de
{{Docnav/de
|[[Sketcher_ToggleConstruction/de|Konstruktionsmodus]]
|[[Sketcher_ToggleConstruction/de|Konstruktionsmodus]]
Line 28: Line 29:
==Anwendung==
==Anwendung==


<div class="mw-translate-fuzzy">
Wie bereits oben erwähnt, benötigt dieses Werkzeug zwei Argumente - beide sind Punkte.
Wie bereits oben erwähnt, benötigt dieses Werkzeug zwei Argumente - beide sind Punkte.
# Zunächst ist es notwendig, zwei verschiedene Punkte zu markieren. (Beachte, dass dies nicht funktioniert, wenn Du zum Beispiel versuchst, den Start- und Endpunkt der gleichen Linie auszuwählen.)
# Zunächst ist es notwendig, zwei verschiedene Punkte zu markieren. (Beachte, dass dies nicht funktioniert, wenn Du zum Beispiel versuchst, den Start- und Endpunkt der gleichen Linie auszuwählen.)
Line 38: Line 40:
#* Verwendung des Eintrags {{MenuCommand/de|Skizze → Skizzierer Beschränkungen → Deckungsgleiche Beschränkung}} im oberen Menü.
#* Verwendung des Eintrags {{MenuCommand/de|Skizze → Skizzierer Beschränkungen → Deckungsgleiche Beschränkung}} im oberen Menü.
{{Emphasis|Ergebnis:}} bewirkt der Befehl, dass die beiden Punkte ''deckungsgleich'' werden und durch einen einzigen Punkt ersetzt werden.
{{Emphasis|Ergebnis:}} bewirkt der Befehl, dass die beiden Punkte ''deckungsgleich'' werden und durch einen einzigen Punkt ersetzt werden.
</div>


{{Emphasis|Hinweis:}} Um zwei Punkte deckungsgleich zu machen, muss FreeCAD unbedingt einen oder beide der ursprünglichen Punkte verschieben.
{{Emphasis|Hinweis:}} Um zwei Punkte deckungsgleich zu machen, muss FreeCAD unbedingt einen oder beide der ursprünglichen Punkte verschieben.


== Alternatives to Coincident constraint ==
==Skripten==


The two constrained items of a [[Sketcher ConstrainCoincident|Coincident]] constraint must be start point or end point vertices, or center points of arcs, circles or ellipses. Some combinations which are not possible with a coincident constraint can be emulated using other constraints:
* The [[File:Sketcher_ConstrainSymmetric.svg|24px]] [[Sketcher ConstrainSymmetric|Symmetric]] constraint can be used to place a start point, end point or center point on the midpoint of a straight line.
* A midpoint-to-midpoint placement of two straight lines can be achieved by creating a new [[File:Sketcher_CreatePoint.svg|24px]] [[Sketcher CreatePoint|Point]] and using two [[File:Sketcher_ConstrainSymmetric.svg|24px]] [[Sketcher ConstrainSymmetric|Symmetric]] constraints so that it lies on the midpoint of both lines.
* A vertex can be constrained to lie along an edge using a [[File:Sketcher_ConstrainPointOnObject.svg|24px]][[Sketcher ConstrainPointOnObject|PointOnObject]] constraint. Note that with this constraint, the point can lie anywhere on the full extension of a segment or curve (i.e. also before the start point or beyond the end point).
* A collinear placement of two straight lines can be obtained by applying a [[File:Sketcher_ConstrainTangent.svg|24px]] [[Sketcher ConstrainTangent|Tangent]] constraint to them, or by combining a [[File:Sketcher_ConstrainPointOnObject.svg|24px]] [[Sketcher ConstrainPointOnObject|PointOnObject]] constraint and a [[File:Sketcher_ConstrainParallel.svg|24px]] [[Sketcher ConstrainParallel|Parallel]] constraint.
* Two edges can be made identical by using two [[File:Sketcher_ConstrainCoincident.svg|24px]] [[Sketcher ConstrainCoincident|Coincident]] constraints, one for each pair of extremities.
* Two circles can be made identical by using a [[File:Sketcher_ConstrainCoincident.svg|24px]] [[Sketcher ConstrainCoincident|Coincident]] constraint to merge the centers, and applying an [[File:Sketcher_ConstrainEqual.svg|24px]] [[Sketcher ConstrainEqual|Equal]] constraint to their edges. For arcs, this will ensure both arcs are part of the same circle, while allowing them to have different start and end points.

<div class="mw-translate-fuzzy">
===Allgemeines Skripten===
===Allgemeines Skripten===
Die Beschränkung kann aus Makros und aus der Python Konsole mit dem folgenden Befehl erstellt werden:
Die Beschränkung kann aus Makros und aus der Python Konsole mit dem folgenden Befehl erstellt werden:
</div>

The constraint can be created from macros and from the python console by using the following command:

{{Code|code=Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving)) }}
{{Code|code=Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving)) }}

<div class="mw-translate-fuzzy">
wo :
wo :
* {{incode|Skizze}} ist ein Skizzenobjekt.
* {{incode|Skizze}} ist ein Skizzenobjekt.
Line 52: Line 70:
* {{incode|LinieBewegt}} ist die Nummer der Zeile, die sich durch Anwendung der Beschränkung bewegt.
* {{incode|LinieBewegt}} ist die Nummer der Zeile, die sich durch Anwendung der Beschränkung bewegt.
* {{incode|PunktderbewegtenLinie}} ist die Nummer der Zeile LineMoving, die die Beschränkung erfüllen muss.
* {{incode|PunktderbewegtenLinie}} ist die Nummer der Zeile LineMoving, die die Beschränkung erfüllen muss.
</div>


As the names {{incode|LineFixed}} and {{incode|LineMoving}} indicate, if both constrained vertices are free to move in any direction, the first one (first to be selected in the Gui) will remain fixed and the other one will move. In the presence of existing constraints, however, both edges may move.
Das Hauptproblem bei der Verwendung dieser Funktion ist die korrekte Identifizierung der Zeilennummer und der Knotennummer der zu verarbeitenden Linien.

Der nächste Abschnitt erklärt Dir, wie Du die Nummerierung einer Linie und eines Scheitels einer Linie identifizieren kannst.

===Identifizieren der Nummerierung einer Linie===

Ich habe drei Linien gezeichnet, wie in der folgenden Abbildung dargestellt.

[[File:PartDesignConstraintPointOnPointScriptingFigure1.jpg|600px]]

Durch Bewegen des Mauszeigers über die Linie siehst Du die Zeilennummer unten links in den FreeCAD Fenstern, siehe nächste Abbildung.

[[File:PartDesignConstraintPointOnPointScriptingFigure2.jpg|600px]]

Leider beginnt die Nummerierung in den FreeCAD-Fenstern bei 1, während die Nummerierung der für das Skript verwendeten Zeile bei 0 beginnt: Dies bedeutet, dass Du jedes Mal eine abrufen musst, wenn Du auf eine Zeile verweisen möchtest.

===Identifizieren der Nummerierung der Eckpunkte einer Linie===

Die Knoten einer Linie können nur den Wert 1 oder 2 haben. (Beachte, dass die Nummerierung der Knoten nicht bei 0 beginnt, da in Bezug auf die Beschränkungen 0= Kante also kein Knoten ist, 1 = Anfangspunkt Knoten, 2 = Endpunkt Knoten, 3 = Mittelpunkt, der kein Knoten ist) Die Knoten sind entsprechend ihrer Reihenfolge der Erstellung nummeriert. Um die Reihenfolge ihrer Erstellung herauszufinden (Wenn Du viele Linien hast, kannst Du Dir nicht merken, welchen Knoten Du zuerst erstellt hast), musst Du nur den Mauszeiger über die beiden Knoten einer Linie bewegen, siehe folgende Abbildung.

[[File:PartDesignConstraintPointOnPointScriptingFigure3.jpg|600px]]

Wenn Du z.B. 4 und 5 liest, bedeutet das, dass der Knoten 4 mit der Nummer 1 im Skriptbefehl und der Knoten 5 mit der Nummer 2 im Skriptbefehl referenziert wird. Usw.

=== Beispiel ===

Nehmen wir das vorherige Beispiel der drei Linien. Die folgende Abbildung zeigt die Nummerierung jeder Zeile und ihrer Eckpunkte gemäß der Konvention für Skriptsteuerung.

[[Image:PartDesignConstraintPointOnPointScriptingFigure3Bis.jpg|600px]]
{{Caption|<b>blauer Text:</b> Nummerierung der Linie, <b>schwarzer Text:</b> Nummerierung der Knoten}}

Der Befehl {{incode|Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1))}} ergibt folgendes Ergebnis:

[[Image:PartDesignConstraintPointOnPointScriptingFigure4.jpg|600px|center]]


The [[Scripting Sketcher constraints in Python]] page explains the values which can be used for {{incode|LineFixed}}, {{incode|PointOfLineFixed}}, {{incode|LineMoving}} and {{incode|PointOfLineMoving}}, and contains further examples on how to create constraints from Python scripts.
Der Befehl {{incode|Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,2,2))}} ergibt folgendes Ergebnis:


[[Image:PartDesignConstraintPointOnPointScriptingFigure5.jpg|600px|center]]


{{Docnav/de
{{Docnav/de

Revision as of 19:20, 23 January 2021

Skizzierer BeschränkeDeckungsgleich

Menüeintrag
Skizze → Skizzen Beschränkungen → Beschränke Deckungsgleich
Arbeitsbereich
Skizzierer
Standardtastenkürzel
C
Eingeführt in Version
-
Siehe auch
Beschränke Gesperrt, Beschränke Punkt auf Objekt

Beschreibung

Erstelle eine deckungsgleichen Beschränkung für das ausgewählte Element

Dieses Beschränkungswerkzeug nimmt zwei Punkte als Argument und dient dazu, die beiden Punkte deckungsgleich zu machen. (Das bedeutet, sie wie einen Punkt zu setzen).

In der Praxis ist dieses Beschränkungswerkzeug nützlich, wenn es z.B. zu einem Bruch in einem Profil kommt - wenn zwei Linien nahe beieinander enden und verbunden werden müssen - wird eine deckungsgleiche Zwangsbedingung ihrer Endpunkte die Lücke schließen.

Anwendung

Wie bereits oben erwähnt, benötigt dieses Werkzeug zwei Argumente - beide sind Punkte.

  1. Zunächst ist es notwendig, zwei verschiedene Punkte zu markieren. (Beachte, dass dies nicht funktioniert, wenn Du zum Beispiel versuchst, den Start- und Endpunkt der gleichen Linie auszuwählen.)
  2. Das Markieren eines Zeichnungselements erfolgt durch Bewegen der Maus über das Element und Anklicken der linken Maustaste.
  3. Ein markierter Eintrag ändert die Farbe in grün (Die Farbe kann mit Template:MenuCommand/de) bearbeitet werden.
  4. Nachfolgende Elemente können durch Wiederholung der obigen Prozedur(en) hervorgehoben werden HINWEIS: Es ist nicht erforderlich, eine spezielle Taste wie Strg gedrückt zu halten, um eine Mehrfachauswahl von Elementen in einer Zeichnung zu erreichen.
  5. Sobald du zwei Punkte markiert hast, kannst du den Befehl mit verschiedenen Methoden aufrufen:

Ergebnis: bewirkt der Befehl, dass die beiden Punkte deckungsgleich werden und durch einen einzigen Punkt ersetzt werden.

Hinweis: Um zwei Punkte deckungsgleich zu machen, muss FreeCAD unbedingt einen oder beide der ursprünglichen Punkte verschieben.

Alternatives to Coincident constraint

The two constrained items of a Coincident constraint must be start point or end point vertices, or center points of arcs, circles or ellipses. Some combinations which are not possible with a coincident constraint can be emulated using other constraints:

  • The Symmetric constraint can be used to place a start point, end point or center point on the midpoint of a straight line.
  • A midpoint-to-midpoint placement of two straight lines can be achieved by creating a new Point and using two Symmetric constraints so that it lies on the midpoint of both lines.
  • A vertex can be constrained to lie along an edge using a PointOnObject constraint. Note that with this constraint, the point can lie anywhere on the full extension of a segment or curve (i.e. also before the start point or beyond the end point).
  • A collinear placement of two straight lines can be obtained by applying a Tangent constraint to them, or by combining a PointOnObject constraint and a Parallel constraint.
  • Two edges can be made identical by using two Coincident constraints, one for each pair of extremities.
  • Two circles can be made identical by using a Coincident constraint to merge the centers, and applying an Equal constraint to their edges. For arcs, this will ensure both arcs are part of the same circle, while allowing them to have different start and end points.

Allgemeines Skripten

Die Beschränkung kann aus Makros und aus der Python Konsole mit dem folgenden Befehl erstellt werden:

The constraint can be created from macros and from the python console by using the following command:

Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving))

wo :

  • Skizze ist ein Skizzenobjekt.
  • LinieFixiert ist die Nummer der Zeile, die sich durch die Anwendung der Beschränkung nicht bewegt.
  • PunktderfixiertenLinie ist die Nummer des Knotens der Linie fixiertenLinie, der die Bedingung erfüllen muss.
  • LinieBewegt ist die Nummer der Zeile, die sich durch Anwendung der Beschränkung bewegt.
  • PunktderbewegtenLinie ist die Nummer der Zeile LineMoving, die die Beschränkung erfüllen muss.

As the names LineFixed and LineMoving indicate, if both constrained vertices are free to move in any direction, the first one (first to be selected in the Gui) will remain fixed and the other one will move. In the presence of existing constraints, however, both edges may move.

The Scripting Sketcher constraints in Python page explains the values which can be used for LineFixed, PointOfLineFixed, LineMoving and PointOfLineMoving, and contains further examples on how to create constraints from Python scripts.