
Eine der schwierigsten Aufgaben in computergestĂŒtzten Konstruktionssystemen ist das
Filetieren beim Modellieren von Objekten komplexer Formen. FĂŒr die Konstruktion von Rundungen sowie fĂŒr die gesamte Geometrie im CAD ist der geometrische Kern verantwortlich.
Aus Sicht des Kernel-Entwicklers ist es aufgrund ihrer unendlichen Vielfalt unmöglich, alle Rundungsmöglichkeiten abzudecken. Unsere Mathematiker fĂŒgen dem C3D-Kern stĂ€ndig neue SonderfĂ€lle hinzu und haben kĂŒrzlich eine Rundung von drei Gesichtern (oder eine vollstĂ€ndige Rundung) durchgefĂŒhrt.
Was ist seine KomplexitÀt und wie funktioniert der Algorithmus, sagt Anna Ladilova, Mathematikerin und Programmiererin bei C3D Labs.
Was ist Vollrundung?
Angenommen, wir haben einen Körper mit drei Gesichterketten - zentral (oben) und seitlich (rechts und links). Es ist erforderlich, die MittelflÀche durch eine VerrundungsflÀche zu ersetzen, die problemlos in benachbarte SeitenflÀchen passt. Diese neue OberflÀche wird vollstÀndig abgerundet sein. Im Allgemeinen hat es einen variablen Radius, der automatisch erkannt wird.

In vielen bekannten CAD-Systemen ist die Vollrundungsverrundungsoperation implementiert, ihre Mathematik wird jedoch nicht offenbart.
Solidworks VollrundfiletbetriebDeshalb haben wir unseren eigenen Algorithmus entwickelt. Und es unterscheidet sich von den Algorithmen anderer Entwickler.
Operationen, obwohl sie als gleich bezeichnet werden, fĂŒhren zu leicht unterschiedlichen Ergebnissen. Dies legt nahe, dass SolidWorks eine andere Definition fĂŒr das Runden von drei FlĂ€chen bietet.
Rechts das Originalmodell, in der Mitte die vollstÀndige Rundung in SolidWorks, links die C3D.VollstÀndiger Rundungsalgorithmus
Das Erstellen von Filets jeder Art umfasst mehrere Phasen:
- Brechen Sie die angegebene Kette in elementare Komponenten (zum Abrunden von drei FlÀchen sind es genau drei FlÀchen: links, rechts und mittig).
- Ordnen Sie konsequent elementare Komponenten an.
- Erstellen Sie fĂŒr jede Elementarkomponente eine VerrundungsflĂ€che.
- NÀhen Sie benachbarte FiletflÀchen mit Rippen.
- Um die Endabschnitte der Filetkette zu verarbeiten, d. H. Sie korrekt mit dem modifizierten Körper zu verbinden.
Der entscheidende Punkt bei diesem Verfahren ist der dritte Schritt: Erstellen einer VerrundungsflĂ€che fĂŒr drei vorgegebene FlĂ€chen.
Um die gewĂŒnschte OberflĂ€che zu konstruieren, mĂŒssen zunĂ€chst die Kurven bestimmt werden, mit denen die Verrundung jede der drei FlĂ€chen berĂŒhrt. Im allgemeinen Fall können diese Kurven nur als Splines konstruiert werden, die durch bekannte Punkte verlaufen, die im Voraus berechnet wurden.
Ăberlegen Sie, wie Sie ein Tripel von Punkten berechnen können - einen auf jedem Spline.
Elementarverarbeitung. Das Filet berĂŒhrt jede der drei FlĂ€chen entlang der Kurven l 0 ; l 1 ; l 2 . Die blaue Linie zeigt den QuerschnittIn jedem Querschnitt
:
- - automatisch berechnet
- orthogonal zu den Tangentialebenen der FlÀchen an den entsprechenden Punkten
- 0 - Ankerpunkt, liegt in der Ebene .

Wir definieren die AnfangsflÀchen der mittleren, linken und rechten FlÀche durch Radiusvektoren in einem bestimmten Definitionsbereich. Die SeitenflÀchen seien durch Radiusvektoren definiert
1 und
2 und der zentrale
0 . Wir fĂŒhren einen positiven numerischen Parameter ein
.
Bezeichnen mit
0 ,
1 ,
2 einzelne Normalen zu den entsprechenden FlÀchen, gerichtet "nach innen".
Querschnitt beim Erstellen einer VerrundungWir fordern, dass sich die Enden dieser Normalen erstrecken
Mal einen Punkt treffen - Punkt
.
In Bezug auf die Differentialgeometrie können unsere Anforderungen durch ein System von sieben Gleichungen mit sieben Parametern formuliert werden:
0 =
1 ,
0 =
2 ,
(
0 -
0 1 -
0 2 -
0 ) =
,
wo
- - variabler Radius
- 0 - Ankerpunkt
- - Variablen aus dem Parameterdefinitionsbereich.
Mit Algorithmen numerischer Methoden (zum Beispiel Newtons Methode) finden wir eine Lösung fĂŒr dieses System:
0 0 0 0 0 0 0 .
Die Lösung definiert BerĂŒhrungspunkte mit OberflĂ€chen:
- 0 ( 0 0 )
- 1 ( 0 0 )
- 2 ( 0 0 )
sowie Radius
0 .
Laufen durch eine Reihe von Punkten
0 , wir erhalten Dreiergruppen von Tangentenpunkten mit FlĂ€chen, von denen aus Sie âBerĂŒhrungskurvenâ wiederherstellen können.
0 1 2 als Hermite Splines durch berechnete Punkte.
Geltungsbereich [
min max ] alle Kurven sind gleich und der Parameter
Ich korrespondiere mit einem Punkt
0i 1i 2i . Ferner werden diese Kurven verwendet, um den gewĂŒnschten Verrundungsquerschnitt zu berechnen.
Wir korrigieren einige Parameter
und berechne die Punkte dafĂŒr:
- 0
- 1
- 2 .
Wir konstruieren eine Spline-Kurve, die durch diese Punkte und senkrecht dazu stehenden Normalenvektoren verlÀuft
0 ,
1 ,
2 dementsprechend.
Wenn die Problemstellung geringfĂŒgig geĂ€ndert wird und die Kurve an bestimmten Punkten und Tangentenvektoren an diesen Punkten gesucht wird, finden Sie die Methoden, mit denen ein solcher Spline implementiert werden kann, beispielsweise in Nikolai Golovanovs Buch âGeometric Modelingâ.
Das Buch beschreibt detailliert die Methoden zum Abrunden der Körperkanten, insbesondere wird gezeigt, dass der Querschnitt der Rundung als NURBS-Kurve realisiert werden kann, die durch drei Punkte definiert ist. Wenn drei FlĂ€chen gerundet sind, wird eine Ă€hnliche Kurve durch fĂŒnf Punkte bestimmt.
Also fĂŒr jeden Parameter
Wir können eine Reihe von Punkten fĂŒr die Konstruktion von NURBS definieren und daher jeden Punkt des Querschnitts der VerrundungsoberflĂ€che definieren. Damit ist das Problem der OberflĂ€chenkonstruktion vollstĂ€ndig gelöst.
In der Beschreibung dieses Teils des Algorithmus gab es eine kleine Frage: Wie wĂ€hlt man die Punktmenge ârichtigâ aus?
0 entspricht dem Querschnitt, durch den die âBerĂŒhrungskurvenâ leicht wiederhergestellt werden können
0 1 2 ?
Es erscheint vernĂŒnftig, sie mit einer vorgewĂ€hlten Kurve zu nehmen. Wir werden nicht auf die Details der Konstruktion dieser Kurve eingehen, sondern nur darauf achten, dass sie glatt sein sollte, ohne SelbstĂŒberschneidungen und die Kantenketten, die die MittelflĂ€che links und rechts begrenzen, âmittelnâ.
Links, Querschnitt, punktabhÀngig 0 .
Auf der rechten Seite können die Zahlen sehr komplex sein, daher ist die richtige Auswahl der âHilfskurveâ eine separate Aufgabe.Nachdem wir nun in der Lage sind, VerrundungsflĂ€chen fĂŒr die einfachsten ElementarfĂ€lle zu erstellen, können wir uns einem komplexeren Problem zuwenden: der Erstellung einer FlĂ€che fĂŒr eine Kette von FlĂ€chen.
Das Hauptproblem besteht darin, benachbarte FlĂ€chen glatt zu ânĂ€henâ. Dies ist der vierte Schritt des Algorithmus.
Die Schwierigkeit liegt genau in der GlĂ€tte der Vernetzung, da die OberflĂ€chen mit unterschiedlichen Anfangsdaten aufgebaut sind. Um die GlĂ€tte zu gewĂ€hrleisten, muss man auf verschiedene Tricks zurĂŒckgreifen: Ăndern Sie die Richtung und LĂ€nge der Vektoren von Ableitungen in LĂ€ngsrichtung in einem bestimmten Abstand von der Grenze, Ă€ndern Sie die Werte der Ableitungen von Gewichtsfunktionen an den Grenzen usw. Die Ergebnisse sind in der Abbildung sichtbar: Die glatteren Zebra-Linien entsprechen einer glatteren OberflĂ€che.

Oben ist ein Modell ohne GlÀttungsalgorithmus dargestellt. Unten - nach Anwendung des Algorithmus.Zusammenfassung
Als Ergebnis unserer Forschung ist der geometrische C3D-Kern in der Lage, einen Verrundungsquerschnitt, StĂŒtzkurven und Verrundungen von drei FlĂ€chen zu konstruieren. weiĂ, wie die OberflĂ€che durch Auswahl einer Parametrisierung geglĂ€ttet wird; weiĂ teilweise, wie benachbarte VerrundungsflĂ€chen reibungslos verbunden werden können.

Autorin - Anna Ladilova, Ph.D., Mathematikerin / Programmiererin C3D Labs