Geometrische Modellierung von VerrundungsoberflÀchen

Bild

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.

Bild

In vielen bekannten CAD-Systemen ist die Vollrundungsverrundungsoperation implementiert, ihre Mathematik wird jedoch nicht offenbart.

Bild
Solidworks Vollrundfiletbetrieb

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

Bild
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:

  1. Brechen Sie die angegebene Kette in elementare Komponenten (zum Abrunden von drei FlÀchen sind es genau drei FlÀchen: links, rechts und mittig).
  2. Ordnen Sie konsequent elementare Komponenten an.
  3. Erstellen Sie fĂŒr jede Elementarkomponente eine VerrundungsflĂ€che.
  4. NÀhen Sie benachbarte FiletflÀchen mit Rippen.
  5. 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.

Bild
Elementarverarbeitung. Das Filet berĂŒhrt jede der drei FlĂ€chen entlang der Kurven l 0 ; l 1 ; l 2 . Die blaue Linie zeigt den Querschnitt

In jedem Querschnitt ABC:

  • OA=OB=OC- automatisch berechnet
  • OA,OB,OCorthogonal zu den Tangentialebenen der FlĂ€chen an den entsprechenden Punkten
  • p0 - Ankerpunkt, liegt in der Ebene ABC.

Bild

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 r1 (u,v)und r2 (z,w)und der zentrale r0 (x,y). Wir fĂŒhren einen positiven numerischen Parameter ein d.

Bezeichnen mit n0 (x,y), n1 (u,v), n2 (z,w)einzelne Normalen zu den entsprechenden FlÀchen, gerichtet "nach innen".

Bild
Querschnitt beim Erstellen einer Verrundung

Wir fordern, dass sich die Enden dieser Normalen erstrecken dMal einen Punkt treffen - Punkt O.

In Bezug auf die Differentialgeometrie können unsere Anforderungen durch ein System von sieben Gleichungen mit sieben Parametern formuliert werden:

dn0 (x,y)= dn1 (u,v),
dn0 (x,y)= dn2 (z,w),
( r0 (x,y)- p0 r1 (u,v)- p0 r2 (z,w)- p0 ) = 0,

wo

  • d- variabler Radius
  • p0 - Ankerpunkt
  • x,y,u,v,z,w- Variablen aus dem Parameterdefinitionsbereich.

Mit Algorithmen numerischer Methoden (zum Beispiel Newtons Methode) finden wir eine Lösung fĂŒr dieses System: x0 y0 u0 v0 z0 w0 d0 .

Die Lösung definiert BerĂŒhrungspunkte mit OberflĂ€chen:

  • r0 ( x0 y0 )
  • r1 ( u0 v0 )
  • r2 ( z0 w0 )

sowie Radius d0 .

Laufen durch eine Reihe von Punkten p0 , wir erhalten Dreiergruppen von Tangentenpunkten mit FlĂ€chen, von denen aus Sie „BerĂŒhrungskurven“ wiederherstellen können. l0 l1 l2 als Hermite Splines durch berechnete Punkte.

Geltungsbereich [ tmin tmax ] alle Kurven sind gleich und der Parameter tIch korrespondiere mit einem Punkt r0i r1i r2i . Ferner werden diese Kurven verwendet, um den gewĂŒnschten Verrundungsquerschnitt zu berechnen.

Wir korrigieren einige Parameter tund berechne die Punkte dafĂŒr:

  • r0 (x(t),y(t)),
  • r1 (u(t),v(t)),
  • r2 (z(t),w(t)).

Wir konstruieren eine Spline-Kurve, die durch diese Punkte und senkrecht dazu stehenden Normalenvektoren verlÀuft n0 (x(t),y(t)), n1 (u(t),v(t)), n2 (z(t),w(t))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 tWir 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? p0 entspricht dem Querschnitt, durch den die „BerĂŒhrungskurven“ leicht wiederhergestellt werden können l0 l1 l2 ?

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

Bild
Links, Querschnitt, punktabhÀngig p0 .
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.

Bild

Bild
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

Source: https://habr.com/ru/post/de474738/


All Articles