STL2STEP
Das Dilemma mit STL-Dateien
Jeder der in der Fertigung oder Konstruktion arbeitet, kennt das Problem: Ein Kunde schickt eine STL-Datei – und plötzlich steht man vor tausenden Dreiecken statt sauberer CAD-Geometrie. Bohrungen sind keine Zylinder mehr, sondern ein Mosaik aus winzigen Facetten. Fasen bestehen aus Dreiecksstreifen. Und jede Fläche ist in dutzende Fragmente zerteilt.
Für den 3D-Druck ist das kein Problem – aber sobald man das Teil ändern, vermessen oder für die CNC-Bearbeitung programmieren will, braucht man eine STEP-Datei mit echten geometrischen Flächen.
Aus so einer Datei mit einer Grösse von rund 17 MByte, macht unser STL2STEP Converter...
... diese cleane Datei mit einer Dateigrösse von rund 17 MB schrumpft auf nur noch 0.3 MB.
Ergebnisse am Beispiel Motorblock
Unser Testmodell – ein kleiner Motorblock mit 6986 Dreiecken – wird korrekt konvertiert:
• 13 Zylinder erkannt (Bohrungen von Ø2.5 bis Ø14 mm)
• 3 Kegelstümpfe erkannt (Fasen/Senkungen)
• 1 RANSAC-Zylinder (seitliche Anfräsung, 98% Inliers)
• Ergebnis: 32 STEP-Faces – identisch mit dem CAD-Original
Unser Ansatz: 7 Schritte zum Ziel
Wir bei CADTEC haben uns gefragt: Kann man diesen Prozess automatisieren? Das Ergebnis ist der STL2STEP Converter – eine experimentelle Studie, die erstaunlich gute Resultate liefert.
Schritt 1 – Sewing: Alle Dreiecke werden als planare Flächen in OpenCascade eingelesen und an ihren Kanten zusammengenäht.
Schritt 2 – Face-Merging: Der Durchbruch! ShapeUpgrade_UnifySameDomain fasst koplanare Nachbarflächen zu einer einzigen Fläche zusammen. Aus 6000 Dreiecken werden plötzlich 30 saubere Faces.
Schritt 3 – Feature-Erkennung: Hier wird es spannend. Per SVD-Analyse und Circle-Fit werden zylindrische Segmente erkannt. Bei seitlichen Anfräsungen springt ein RANSAC-Algorithmus ein, der selbst bei nur 98% sichtbarer Mantelfläche den korrekten Radius findet.
Schritt 4–7 Edge-Cleanup: reduziert die Kantenzahl drastisch, Shape Healing repariert kleine Toleranzfehler, und die Shell-Konsolidierung stellt sicher, dass ein Einzelteil – keine Baugruppe – exportiert wird.
Das kniffligste Problem: Kreuzende Bohrungen
Wenn sich zwei Bohrungen durchdringen, muss die Mantelfläche der einen dort aufhören, wo die andere hindurchgeht. Wir lösen das mit Boolean-Cuts (BRepAlgoAPI_Cut): Jede Zylinder-Mantelfläche wird gegen die Solids aller kreuzenden Zylinder geschnitten. Das Ergebnis sind sauber getrimmte Flächen – genau wie in einem nativen CAD-Modell.
Experimentelle Studie mit Potenzial
Der STL2STEP Converter ist eine experimentelle Studie. Freiformflächen (NURBS) werden noch nicht unterstützt, und die Erkennung beschränkt sich auf Ebenen, Zylinder und Kegel. Aber für Teile mit prismatischer Geometrie und Bohrungsmustern liefert der Konverter bereits heute brauchbare Ergebnisse.
Wir bei CADTEC GmbH sind gespannt auf das Feedback unserer Kunden. Falls Interesse an einer Weiterentwicklung besteht –> etwa Unterstützung für Kugeln, Tori oder sogar Freiformflächen <– freuen wir uns über Ihre Rückmeldung.