Part Loft Technical Details/de: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(28 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

Diese Seite erklärt die Details, wie die [[Part Loft/de|Ausformung]]soberfläche des Werkzeugs erzeugt wird. Dies ist ebenfalls relevant für [[Part Sweep|Part Austragung]], die entlang eines geraden Pfades erfolgen, auch wenn es Unterschiede gibt.
Diese Seite erklärt die Details, wie die [[Part Loft/de|Ausformung]]soberfläche des Werkzeugs erzeugt wird. Dies ist ebenfalls relevant für [[Part Sweep|Part Austragung]], die entlang eines geraden Pfades erfolgen, auch wenn es Unterschiede gibt.


Die angegebenen Informationen sind implementierungsspezifisch und können sich ändern. Der aktuelle Stand ist relevant für FreeCAD 0.15.4119, OCC Version: 6.7.0.
Die angegebenen Informationen sind implementierungsspezifisch und können sich ändern. Der aktuelle Stand ist relevant für FreeCAD 0.15.4119, OCC Version: 6.7.0.


<span id="Stages_of_the_Loft_creation"></span>
==Stufen der Ausformungserstellung==
==Schritte zur Erstellung einer Ausformung==
Um den Vorgang der Ausformung zu erklären, ist es sinnvoll, ihn in Stufen zu unterteilen:

# die Anzahl der Segmente in den Profilen gleich machen (wenn sie es nicht schon gleich sind)
Um den Vorgang der Ausformung zu erklären, ist es sinnvoll, ihn in Schritte zu unterteilen:
# Übereinstimmung zwischen den Segmenten herstellen
# Die Anzahl der Segmente in den Profilen angleichen (wenn sie nicht schon gleich sind).
# erstellen der Austragungsoberfläche
# Beziehungen zwischen den Segmenten herstellen.
# Erstellen der Austragungsoberfläche.

<span id="Step_1._Making_numbers_of_segment_in_profiles_match"></span>
===Schritt 1. Angleichung der Segmentanzahl der Profile===


===Schritt 1. Erstellen der Segmentanzahl mit Profilübereinstimmung===
Die Ausformung benötigt die Anzahl der Segmente, um Flächen zwischen den entsprechenden Segmenten zu erzeugen. Wenn die Anzahl der Segmente in allen Profilen übereinstimmt, wird dieser Schritt übersprungen.
Die Ausformung benötigt die Anzahl der Segmente, um Flächen zwischen den entsprechenden Segmenten zu erzeugen. Wenn die Anzahl der Segmente in allen Profilen übereinstimmt, wird dieser Schritt übersprungen.


Line 25: Line 30:
|}
|}


<span id="Step_2._Establishing_correspondence_between_segments"></span>
===Schritt 2. Übereinstimmung zwischen den Segmenten herstellen ====
===Step 2. Beziehungen zwischen den Segmenten herstellen===
[[Datei:Loft Anzahl der Verts match.png|thumb|300px|Veranschaulichung der Ausformung, wobei die Anzahl der Segmente in den Profilen beibehalten wird, wenn sie übereinstimmen. Beachte wie 3 Kanten des oberen Quadrats in ein kleines polygonales Stück des unteren Profils "kollabieren".]]

[[File:Loft Number of verts match.png|thumb|300px|Veranschaulichung der Ausformung, wobei die Anzahl der Segmente in den Profilen beibehalten wird, wenn sie übereinstimmen. Beachte wie 3 Kanten des oberen Quadrats in ein kleines polygonales Stück des unteren Profils "kollabieren".]]
Falls die Anzahl der Segmente in allen Profilen nicht gleich war, wurde in Schritt 1 das Schneiden durchgeführt, und die Übereinstimmung ist trivial.
Falls die Anzahl der Segmente in allen Profilen nicht gleich war, wurde in Schritt 1 das Schneiden durchgeführt, und die Übereinstimmung ist trivial.
Falls die Anzahl der Segmente in allen Profilen gleich war, werden vorhandene Segmente verwendet (siehe Bild), und dann muss die Übereinstimmung festgestellt werden.
Falls die Anzahl der Segmente in allen Profilen gleich war, werden vorhandene Segmente verwendet (siehe Bild), und dann muss die Übereinstimmung festgestellt werden.


Der genaue Algorithmus zum Auffinden der entsprechenden Segmente ist komplex, aber im Allgemeinen neigt er dazu, die Verdrehung der resultierenden Ausformung zu minimieren. Das bedeutet, dass wenn man einen Loft zwischen zwei Quadraten macht, die maximal mögliche Verdrehung <45° ist. Eine weitere Drehung eines der Quadrate führt dazu, dass die Ausformung zu anderen Knoten springt.
The exact algorithm to find corresponding segments is complex, but generally it tends to minimize the twisting of the resulting Loft. This means that if one is doing a loft between two squares, the maximum twist possible is <45°. Further rotation of one of the squares will cause the Loft to jump to other vertices.


Die Übereinstimmung zwischen benachbarten Profilen wird unabhängig voneinander hergestellt. Das bedeutet, dass durch das Hinzufügen weiterer Profile eine zusätzliche Verdrehung erreicht werden kann.
The correspondence between neighboring profiles is made independently. This means that additional twisting can be obtained by adding more profiles.


Zu beachten ist auch, dass bei gleicher Segmentanzahl in Profilen der resultierende Ausformung gegenüber komplexen Profilen, insbesondere bei nicht konvexen Profilen, wesentlich robuster ist.
Another thing to note is that when numbers of segments in profiles are equal, the resulting Loft is substantially more robust with respect to complex profiles, especially for non-convex ones.
{{clear}}
{{clear}}
===Step 3. Making the loft surface.===
[[File:Loft B-spline.png|thumb|400px|A spline interpolation curve (red) that follows the loft surface. The points to interpolate through are shown as red squares.]]
If there are only two profiles, the surfaces created are ruled surfaces between corresponding segments of the profiles. Straight edges are created to connect corresponding vertices of the profiles.


<span id="Step_3._Making_the_loft_surface"></span>
If there are more than two profiles, the surfaces are made of splines in the same manner as straight lines form ruled surfaces. The imaginary splines the surface is "made of" are drawn through corresponding points of the corresponding segments of the profiles.
===Step 3. Ausformungsoberfläche erstellen===


[[File:Loft B-spline.png|thumb|400px|Eine Spline-Interpolationskurve (rot), die der Ausformungsoberfläche folgt. Die Punkte, durch die interpoliert werden soll, sind als rote Quadrate dargestellt.]]
The splines are B-spline interpolation.
Wenn es nur zwei Profile gibt, sind die erzeugten Flächen Regelflächen zwischen den entsprechenden Segmenten der Profile. Es werden gerade Kanten erzeugt, um die entsprechenden Eckpunkte der Profile zu verbinden.
* If the number of profiles is below 10, interpolation is done with by a B-spline with a maximum possible degree (i.e. degree = number_of_profiles - 1).
* If the number of profiles exceeds 10, the interpolation is switched to 3rd degree B-splines.


Wenn mehr als zwei Profile vorhanden sind, werden die Flächen aus Splines in der gleichen Weise wie Geraden aus Regelflächen gebildet. Die gedachten Splines, aus denen die Oberfläche "besteht", werden durch entsprechende Punkte der entsprechenden Segmente der Profile gezeichnet.
The knotting method used is "approximate chord length". Approximate stands for the fact that the knot vector is exactly the same for every spline in a loft. For more info on what is B-spline interpolation, knot vector, chord length method, see, for example, [http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/INT-APP/CURVE-INT-global.html cs.mtu.edu Curve Global Interpolation ].


Die Splines sind B-Spline Interpolation.
Note that Loft has a "Ruled" property. If it is set to true, ruled surfaces are made between neighboring profiles even when there's more than one profile. That is, B-spline interpolation is replaced by piecewise linear interpolation.
* Wenn die Anzahl der Profile unter 10 liegt, wird die Interpolation mit einem B Spline mit einem maximal möglichen Grad (d.h. Grad = Anzahl_der_Profile - 1) durchgeführt.
* Ist die Anzahl der Profile größer als 10, wird die Interpolation auf B Splines 3. Grades umgeschaltet.

Die verwendete Knüpfmethode ist "ungefähre Sehnenlänge". Näherung steht für die Tatsache, dass der Knotenvektor für jeden Spline in einer Ausformung genau gleich ist. Weitere Informationen über die B Spline Interpolation, den Knotenvektor und die Methode der Sehnenlänge findest du z.B. unter [http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/INT-APP/CURVE-INT-global.html cs.mtu.edu Curve Global Interpolation ].

Beachte, dass Ausformung eine "Ruled"-Eigenschaft hat. Wenn sie auf "true" gesetzt ist, werden Regelflächen zwischen benachbarten Profilen erstellt, auch wenn es mehr als ein Profil gibt. Das heißt, die B Spline Interpolation wird durch stückweise lineare Interpolation ersetzt.
{{clear}}
{{clear}}
==The essence==
* The loft is doing B-spline interpolation between the provided profiles. The interpolation is switched to piecewise linear when "Ruled" property is set to true.
* When number of profiles exceeds 9, interpolation degree is dropped to 3. This switchover can substantially reduce wiggling.
* Matching the number of segments (aka number of vertices) in the profiles allows one to give the loft a slight twist, and typically permits using more complex profiles.
* When numbers of segments are not matched, it's best to keep the profiles to be representable by a proper r(phi) function in polar coordinates.


<span id="The_main_point"></span>
==Additional remarks==
==Das Wesentliche==
* It is not required that the profiles are parallel (see a picture below).

* For Loft, it is not required that the profiles are separated (see a picture below). They can be coplanar, but they should not intersect.
* Die Ausformung führt eine B-Spline-Interpolation zwischen den bereitgestellten Profilen durch. Die Interpolation wird auf stückweise linear geschaltet, wenn die Eigenschaft "Ruled" auf true gesetzt wird.
* When "closed" property of the Loft is "true", there is a cusp joint in all the splines forming the Loft (see a picture below). There is no reliable way to close the loft smoothly now.
* Wenn die Anzahl der Profile 9 übersteigt, wird der Interpolationsgrad auf 3 reduziert, wodurch das Schwingen erheblich reduziert werden kann.
* Die Anpassung der Anzahl der Segmente (auch bekannt als Anzahl der Knoten) in den Profilen erlaubt es, der Ausformung eine leichte Verdrehung zu geben und erlaubt typischerweise die Verwendung komplexerer Profile.
* Wenn die Anzahl der Segmente nicht übereinstimmt, ist es am besten, die Profile durch eine richtige r(phi) Funktion in Polarkoordinaten darstellbar zu halten.

<span id="Additional_remarks"></span>
==Zusätzliche Anmerkungen==

* Es ist nicht erforderlich, dass die Profile parallel sind (siehe Bild unten).
* Bei der Ausformung ist es nicht erforderlich, dass die Profile getrennt sind (siehe Bild unten). Sie können komplanar sein, aber sie sollten sich nicht schneiden.
* Wenn die Eigenschaft "geschlossen" der Ausformung "true" ist, gibt es eine Eckverbindung in allen Splines, die die Ausformung bilden (siehe Bild unten). Es gibt jetzt keine zuverlässige Möglichkeit, die Ausformung glatt zu schließen.


{|style="margin: 0 auto;"
{|style="margin: 0 auto;"
|[[File:Loft nonparallel.png|thumb|300px|none|It is not required that the profiles are parallel.]]
|[[File:Loft nonparallel.png|thumb|300px|none|Es ist nicht erforderlich, dass die Profile parallel sind.]]
|[[File:Loft Coplanar.png|thumb|300px|none|In Loft, the profiles can be coplanar. In this example, two of three profiles are coplanar.]]
|[[File:Loft Coplanar.png|thumb|300px|none|In Ausformung können die Profile koplanar sein. In diesem Beispiel sind zwei von drei Profilen koplanar.]]
|[[File:Loft-closed.png|thumb|300px|none|An example of a closed loft between three pentagonal profiles (white). Note the non-smooth joint at the outermost profile. This is the first profile in the closed loft.]]
|[[File:Loft-closed.png|thumb|300px|none|Ein Beispiel für eine geschlossene Ausformung zwischen drei fünfeckigen Profilen (weiß). Beachte die nicht glatte Verbindung am äußersten Profil. Dies ist das erste Profil im geschlossenen Loft.]]
|}
|}


[[Category:User Documentation]]


{{Part Tools navi{{#translation:}}}}
{{clear}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 10:29, 23 April 2023

Diese Seite erklärt die Details, wie die Ausformungsoberfläche des Werkzeugs erzeugt wird. Dies ist ebenfalls relevant für Part Austragung, die entlang eines geraden Pfades erfolgen, auch wenn es Unterschiede gibt.

Die angegebenen Informationen sind implementierungsspezifisch und können sich ändern. Der aktuelle Stand ist relevant für FreeCAD 0.15.4119, OCC Version: 6.7.0.

Schritte zur Erstellung einer Ausformung

Um den Vorgang der Ausformung zu erklären, ist es sinnvoll, ihn in Schritte zu unterteilen:

  1. Die Anzahl der Segmente in den Profilen angleichen (wenn sie nicht schon gleich sind).
  2. Beziehungen zwischen den Segmenten herstellen.
  3. Erstellen der Austragungsoberfläche.

Schritt 1. Angleichung der Segmentanzahl der Profile

Die Ausformung benötigt die Anzahl der Segmente, um Flächen zwischen den entsprechenden Segmenten zu erzeugen. Wenn die Anzahl der Segmente in allen Profilen übereinstimmt, wird dieser Schritt übersprungen.

Wenn mindestens eines der Profile eine unterschiedliche Anzahl von Segmenten hat, wird das folgende Verfahren angewendet. Die Vorgehensweise wird hier der Einfachheit halber für den Fall von nur zwei Profilen erläutert.

  1. die Profile werden vorübergehend so ausgerichtet, dass sie koplanar sind und ihre Massenschwerpunkte* übereinstimmen.
  2. (siehe Bild) für jeden Knoten in einem Profil wird das zweite Profil unter dem gleichen Polarwinkel geschnitten (der Polmittelpunkt ist der Massenschwerpunkt). Wenn mehr als ein Scheibe möglich ist oder gar keine Scheibe möglich ist (das kann bei sehr konvexen Profilen passieren), schlägt die Ausformung typischerweise fehl.
  3. dasselbe wird in der entgegengesetzten Richtung gemacht.

Der Vorgang wird auf alle Profile ausgedehnt, um die gleiche Anzahl von Segmenten zu erhalten. Die Gesamtanzahl der Segmente in jedem Profil wäre gleich der Summe aller Segmentanzahlen aller Profile (vorausgesetzt, dass keiner der Knoten zufällig im gleichen Polarwinkel liegt).

Der Vorgang des Schneidens von Profil2 (weiße sichelförmige Form), um Verbindungen zu erzeugen, die den Eckpunkten von Profil1 (violettes Fünfeck) entsprechen. Die eingefügten Verbindungen werden durch gelbe Pfeile markiert.
Das Ergebnis der Ausformung entsprechend dem Bild links.

Step 2. Beziehungen zwischen den Segmenten herstellen

Veranschaulichung der Ausformung, wobei die Anzahl der Segmente in den Profilen beibehalten wird, wenn sie übereinstimmen. Beachte wie 3 Kanten des oberen Quadrats in ein kleines polygonales Stück des unteren Profils "kollabieren".

Falls die Anzahl der Segmente in allen Profilen nicht gleich war, wurde in Schritt 1 das Schneiden durchgeführt, und die Übereinstimmung ist trivial. Falls die Anzahl der Segmente in allen Profilen gleich war, werden vorhandene Segmente verwendet (siehe Bild), und dann muss die Übereinstimmung festgestellt werden.

Der genaue Algorithmus zum Auffinden der entsprechenden Segmente ist komplex, aber im Allgemeinen neigt er dazu, die Verdrehung der resultierenden Ausformung zu minimieren. Das bedeutet, dass wenn man einen Loft zwischen zwei Quadraten macht, die maximal mögliche Verdrehung <45° ist. Eine weitere Drehung eines der Quadrate führt dazu, dass die Ausformung zu anderen Knoten springt.

Die Übereinstimmung zwischen benachbarten Profilen wird unabhängig voneinander hergestellt. Das bedeutet, dass durch das Hinzufügen weiterer Profile eine zusätzliche Verdrehung erreicht werden kann.

Zu beachten ist auch, dass bei gleicher Segmentanzahl in Profilen der resultierende Ausformung gegenüber komplexen Profilen, insbesondere bei nicht konvexen Profilen, wesentlich robuster ist.

Step 3. Ausformungsoberfläche erstellen

Eine Spline-Interpolationskurve (rot), die der Ausformungsoberfläche folgt. Die Punkte, durch die interpoliert werden soll, sind als rote Quadrate dargestellt.

Wenn es nur zwei Profile gibt, sind die erzeugten Flächen Regelflächen zwischen den entsprechenden Segmenten der Profile. Es werden gerade Kanten erzeugt, um die entsprechenden Eckpunkte der Profile zu verbinden.

Wenn mehr als zwei Profile vorhanden sind, werden die Flächen aus Splines in der gleichen Weise wie Geraden aus Regelflächen gebildet. Die gedachten Splines, aus denen die Oberfläche "besteht", werden durch entsprechende Punkte der entsprechenden Segmente der Profile gezeichnet.

Die Splines sind B-Spline Interpolation.

  • Wenn die Anzahl der Profile unter 10 liegt, wird die Interpolation mit einem B Spline mit einem maximal möglichen Grad (d.h. Grad = Anzahl_der_Profile - 1) durchgeführt.
  • Ist die Anzahl der Profile größer als 10, wird die Interpolation auf B Splines 3. Grades umgeschaltet.

Die verwendete Knüpfmethode ist "ungefähre Sehnenlänge". Näherung steht für die Tatsache, dass der Knotenvektor für jeden Spline in einer Ausformung genau gleich ist. Weitere Informationen über die B Spline Interpolation, den Knotenvektor und die Methode der Sehnenlänge findest du z.B. unter cs.mtu.edu Curve Global Interpolation .

Beachte, dass Ausformung eine "Ruled"-Eigenschaft hat. Wenn sie auf "true" gesetzt ist, werden Regelflächen zwischen benachbarten Profilen erstellt, auch wenn es mehr als ein Profil gibt. Das heißt, die B Spline Interpolation wird durch stückweise lineare Interpolation ersetzt.

Das Wesentliche

  • Die Ausformung führt eine B-Spline-Interpolation zwischen den bereitgestellten Profilen durch. Die Interpolation wird auf stückweise linear geschaltet, wenn die Eigenschaft "Ruled" auf true gesetzt wird.
  • Wenn die Anzahl der Profile 9 übersteigt, wird der Interpolationsgrad auf 3 reduziert, wodurch das Schwingen erheblich reduziert werden kann.
  • Die Anpassung der Anzahl der Segmente (auch bekannt als Anzahl der Knoten) in den Profilen erlaubt es, der Ausformung eine leichte Verdrehung zu geben und erlaubt typischerweise die Verwendung komplexerer Profile.
  • Wenn die Anzahl der Segmente nicht übereinstimmt, ist es am besten, die Profile durch eine richtige r(phi) Funktion in Polarkoordinaten darstellbar zu halten.

Zusätzliche Anmerkungen

  • Es ist nicht erforderlich, dass die Profile parallel sind (siehe Bild unten).
  • Bei der Ausformung ist es nicht erforderlich, dass die Profile getrennt sind (siehe Bild unten). Sie können komplanar sein, aber sie sollten sich nicht schneiden.
  • Wenn die Eigenschaft "geschlossen" der Ausformung "true" ist, gibt es eine Eckverbindung in allen Splines, die die Ausformung bilden (siehe Bild unten). Es gibt jetzt keine zuverlässige Möglichkeit, die Ausformung glatt zu schließen.
Es ist nicht erforderlich, dass die Profile parallel sind.
In Ausformung können die Profile koplanar sein. In diesem Beispiel sind zwei von drei Profilen koplanar.
Ein Beispiel für eine geschlossene Ausformung zwischen drei fünfeckigen Profilen (weiß). Beachte die nicht glatte Verbindung am äußersten Profil. Dies ist das erste Profil im geschlossenen Loft.