OBJ in STL umwandeln

OBJ kannst du hier kostenlos und ohne Konto in STL umwandeln: Datei oben ablegen, und ein, zwei Sekunden später steht das Ergebnis zum Herunterladen bereit. Die Umwandlung läuft in deinem eigenen Browser, die Datei wird also nie hochgeladen — das klappt unter Windows, macOS und Linux ebenso wie auf iPhone und Android, und es funktioniert selbst dann noch, wenn du das Netz abschaltest.

  • Wo es läuft In deinem Browser. Die Datei wird nicht hochgeladen.
  • Neu aufgebaut STL funktioniert anders als OBJ. Es ist also nicht der schleichende Qualitätsverlust eines verlustbehafteten Codecs: Was STL ausdrücken kann, wird originalgetreu wiedergegeben — was dort keine Entsprechung hat, bleibt ganz weg.
  • Größenbegrenzung Bis 100 MB pro Datei, kostenlos und ohne Konto.
  • Gut zu wissen Nur die Geometrie. Materialien, Farben, Texturen und Animation kommen nicht mit, und ein mehrfach platziertes Modell kommt so zurück, dass jede Kopie fest an ihrer eigenen Position sitzt.

Bis zu 100 Dateien auf einmal. Gemischte Formate sind kein Problem.

Das Formular, das nur STL entgegennimmt

Diese Umwandlung ist fast immer eine Pflicht, keine Vorliebe. Ein Online-Druckdienst führt in seiner Formatliste nur „.stl". Eine CAM-Software für die eigene CNC-Fräse liest Netze und genau eine Art davon. Die Software eines Maschinenherstellers wurde um STL herum geschrieben und seither nicht mehr angefasst. Eine Werkstatt hat um „ein STL" gebeten, weil das in ihrem Wortschatz das Wort für eine druckbare Datei ist.

Widersprechen hilft selten und lohnt sich meist nicht. Was sich lohnt, ist sicherzustellen, dass die abgegebene STL-Datei auch das ist, was gemeint war — denn eine STL-Datei sagt nichts über sich selbst aus: keine Maßeinheit, keine Teilenamen, kein Material, keine Herkunft. Jeder Fehler darin bleibt still, bis irgendwo etwas in der falschen Größe gefertigt wird. Der Rest dieser Seite ist die Checkliste dagegen.

Die MTL-Datei neben der OBJ-Datei wird nie geöffnet

Eine OBJ-Datei kommt häufig mit einer Begleitung: einer „.mtl"-Datei mit Materialnamen und einem Ordner mit Texturbildern, auf die die MTL-Datei verweist. Die Zeilen `mtllib` und `usemtl` in der OBJ-Datei referenzieren sie. Nichts davon wird gelesen, weil eine STL-Datei keinen Platz für ein Material, eine Textur, eine UV-Koordinate oder eine Farbe hat.

Die Folge sollte man offen aussprechen: Ein Modell, das aus einem Marktplatz gekauft wurde, weil es gut aussah, kommt als schlichter grauer Festkörper an, und das ist keine Schwäche der Umwandlung, sondern die Definition des Zielformats. Manche Werkzeuge haben über die Jahre Farbe in den zwei freien Byte je STL-Dreieck untergebracht, in zwei zueinander inkompatiblen Konventionen; keine davon ist Teil des Formats, und keine wird hier erzeugt. Kommt es auf Farbe an, ist 3MF das passende Druckformat.

Jede OBJ-Gruppe verschmilzt zu einer einzigen Dreiecksliste

OBJ organisiert Geometrie mit `o`- und `g`-Zeilen, und ein Modell einiger Komplexität nutzt sie — ein Korpus, ein Deckel, ein Griff, jeweils benannt. Eine STL-Datei besitzt genau eine durchgehende Dreiecksliste ohne jede Vorstellung von einem Objekt, sodass alle Gruppen der Reihe nach hineingeschrieben werden.

Die einzelnen Körper bleiben geometrisch getrennt, ihre Bezeichnung ist verschwunden. PrusaSlicer und Cura erkennen beim Laden getrennte Körper und bieten an, sie auf der Druckplatte in eigene Objekte aufzuteilen, was die Anordnung wiederherstellt, nicht aber die Namen — die Teile kommen als „Part 1" und „Part 2" zurück. Muss die Gegenstelle wissen, welches Teil welches ist, in der Nachricht dazuschreiben oder pro Teil eine eigene STL-Datei liefern, indem die übrigen Teile vorher in einer Modellierungssoftware gelöscht werden.

Vierecke und Vielecke werden vom ersten Eckpunkt aus gefächert

OBJ-Flächen dürfen beliebig viele Ecken haben, STL-Dreiecke haben genau drei, also wird jedes Vieleck geteilt. Die Methode ist ein Fächer: Ecke eins wird mit jedem aufeinanderfolgenden Paar verbunden, ein Viereck wird so zu zwei Dreiecken, ein Sechseck zu vier.

Das ist bei einer konvexen Fläche genau richtig, und es ist die eine Stelle, an der diese Umwandlung tatsächlich falsche statt nur reduzierte Geometrie erzeugen kann. Ein konkaves Vieleck, von einer außerhalb seines eigenen Inneren liegenden Ecke gefächert, erzeugt sich überlappende Dreiecke, die im Slicer als geknickter oder selbstschneidender Bereich erscheinen. Modellierungssoftware liefert fast immer konvexe Flächen, das kommt also selten vor — zeigt die geschnittene Vorschau eine merkwürdige Falte auf einer eigentlich flachen Fläche, die OBJ-Datei vorher richtig triangulieren. Blenders „Flächen triangulieren" nutzt ein Ear-Clipping-Verfahren, das mit konkaven Vielecken korrekt umgeht.

Eine OBJ-Datei kennt keine Einheit, die STL-Datei behauptet Millimeter

Keines der beiden Formate speichert eine Maßeinheit. OBJ hat dafür kein Feld, und auch das Umfeld hat keine Konvention — ein Netz aus einem Scanner ist häufig in Millimetern, eines aus einer Architektursoftware in Metern, eines aus einer Spiele-Engine in dem, was die Engine gerade verwendet. STL ist genauso, nur dass praktisch jeder Slicer die Datei als Millimeter interpretiert.

Die Zahlen wandern also durch und bekommen eine Bedeutung, die sie vorher nicht hatten. Das ist der teuerste Fehler, den diese Umwandlung machen kann, und die Prüfung dauert zehn Sekunden: die STL-Datei in einem Slicer laden, die Bounding Box ablesen und mit einem bekannten Maß vergleichen. Ein Teil, das 60 mm messen sollte und 0,06 mm anzeigt, wurde in Metern erstellt; eines, das 1524 mm anzeigt, in Zoll. Vor dem Versand skalieren, nicht der Werkstatt überlassen.

Negative und relative Indizes in der OBJ-Datei werden aufgelöst

OBJ-Flächen-Indizes sind eins-basiert, und das Format erlaubt zusätzlich negative Indizes, die rückwärts vom zuletzt genannten Eckpunkt zählen — eine als `-1` geschriebene Ecke meint den unmittelbar vor dieser Fläche deklarierten Eckpunkt. Manche Exportprogramme nutzen diese Form durchgängig, weil sie das Zusammenfügen mehrerer Dateien vereinfacht.

Beide Formen werden beim Einlesen der Reihe nach aufgelöst, was der einzige mögliche Weg ist: Ein negativer Index hängt davon ab, wie viele Eckpunkte an dieser Stelle bereits deklariert waren, und lässt sich nicht nachträglich neu interpretieren. Eckangaben der Formen `v`, `v/vt`, `v//vn` und `v/vt/vn` werden alle akzeptiert, wobei nur der Eckpunkt-Teil verwendet wird, weil Textur- und Normalenverweise in einer STL-Datei keinen Platz haben.

Verschweißt beim Einlesen, verworfen beim Schreiben der STL-Datei

Der Einleseschritt fasst deckungsgleiche Eckpunkte innerhalb jeder Gruppe zusammen, verglichen auf sechs Nachkommastellen. Das wirkt sich auf die anderen Zielformate dieser Seite aus — eine in glTF oder PLY umgewandelte OBJ-Datei behält die gemeinsamen Eckpunkte und wird dadurch deutlich kleiner — und ist bei einer STL-Datei unsichtbar.

STL kennt überhaupt keine geteilten Eckpunkte: Jedes Dreieck trägt seine drei Ecken unabhängig, eine von sechs Dreiecken genutzte Ecke wird also sechsmal geschrieben, egal wie sauber die Quelle war. Die Datei ist deshalb bei n Dreiecken exakt 84 + 50n Byte groß, unabhängig davon, wie ordentlich die Quelldatei aufgebaut war — zwölf Byte Flächennormale, sechsunddreißig Koordinaten und zwei ungenutzte, je Dreieck. Die Normale wird aus der Umlaufrichtung neu berechnet statt übernommen, weil Slicer sie ohnehin daraus ableiten und mehrere den gespeicherten Wert vollständig ignorieren.

Die STL-Datei prüfen, bevor der Druck bezahlt wird

Vier Dinge, in dieser Reihenfolge, und alle in einem selbst kontrollierten Slicer statt in der Vorschau des Druckdienstes. Die Bounding Box, gegen ein nachprüfbares Maß. Die Objektanzahl, falls das Modell aus mehreren Teilen bestand und nur eines gemeint war. Der Manifold-Bericht — PrusaSlicer und Cura markieren offene Kanten beim Laden und bieten eine Reparatur an. Und die geschnittene Vorschau in ein paar Höhen, die zeigt, ob die Wände dort sind, wo man sie erwartet.

Letzteres erkennt, was die anderen Prüfungen übersehen: umgedrehte Flächen, die einen Hohlraum erzeugen, wo Material sein sollte, eine Fächerungsartefakt aus einem konkaven Vieleck, eine innere Schale, von der niemand wusste. Ein Druckdienst führt vor dem Druck eine eigene Reparatur durch, und diese Reparatur weiß nicht, welche Eigenschaften des eigenen Teils funktional gemeint waren.

Wann eine OBJ-Datei besser woanders als in STL landet

Wird selbst gedruckt, ist 3MF die bessere Zielform, und jeder aktuelle Slicer nimmt es an: Es erklärt Millimeter ausdrücklich, behält jede Gruppe als eigenes Objekt auf der Druckplatte, und ist ein komprimiertes Paket statt fünfzig Byte pro Dreieck. Der einzige Grund, für den eigenen Drucker noch eine STL-Datei zu erzeugen, ist ein Slicer, der zu alt ist, um 3MF zu lesen.

Wird das Modell weiterbearbeitet statt gefertigt, die OBJ-Datei aufheben — sie enthält die Gruppen, die Materialverweise und eine lesbare Textform, nichts davon übersteht den Weg über STL. Und wurde das Modell gekauft, vor dem Druck prüfen, was die Lizenz erlaubt: Marktplatz-Bedingungen decken häufig nur das Rendern ab und schweigen zur physischen Reproduktion, was ein anderes Recht ist.

Wo die OBJ-Datei umgewandelt wird

In diesem Browser-Tab, durch reines JavaScript. Es wird kein WebAssembly-Modul nachgeladen, nichts wird hochgeladen, es gibt kein Konto und kein Tageslimit — und der Netzwerktab während einer Umwandlung ist der Beweis dafür, nicht dieser Satz.

Die kostenlose Grenze liegt bei 100 Megabyte für die Eingabe, wobei die Ausgabe bei einem dichten Modell größer ausfallen kann als die Eingabe — eine OBJ-Datei speichert jeden Eckpunkt einmal, eine STL-Datei wiederholt ihn pro Dreieck. Ein Modell mit einigen hunderttausend Dreiecken ist unproblematisch; jenseits weniger Millionen wird eher der Slicer unzufrieden als diese Seite.

OBJ in STL umwandeln — so geht es

  1. Leg deine OBJ-Datei auf dieser Seite ab, oder klick, um eine auszuwählen.
  2. Wähl STL als Ziel. Die Umwandlung läuft in deinem Browser, die Datei wird nicht hochgeladen.
  3. Lade die fertige STL-Datei herunter.

OBJ und STL im Vergleich: was sich ändert

OBJ im Vergleich zu STL
OBJSTL
Vollständiger NameWavefront-ObjektStereolithography
Dateiendung.obj.stl
Medientypmodel/objmodel/stl
Erstmals veröffentlicht19921987
Herausgegeben vonWavefront Technologies3D Systems
LizenzlageOffener StandardOffener Standard
Heutiger StandAktuellAktuell
Öffnet im BrowserKein BrowserKein Browser
Stattdessen erwogenGLTF, PLY3MF, PLY

Das Ergebnis öffnen

Blender liest sowohl OBJ als auch STL — du kannst das Ergebnis also gegen das Original prüfen, ohne ein zweites Programm zu brauchen.

Wofür die beiden Formate gedacht sind

Die beiden zielen auf verschiedene Arbeit: OBJ auf den Austausch zwischen Programmen und die Bearbeitung, STL auf den 3D-Druck. Das lohnt sich vorher abzuwägen — der Grund, aus dem es das eine gibt, ist meist der Grund, aus dem das andere unpraktisch ist.

STL kommt von 3D Systems und stammt aus 1987. Blender, PrusaSlicer und Cura lesen das Format.

OBJ zu STL: häufige Fragen

Werden meine OBJ-Dateien irgendwo hochgeladen?

Nein. Diese Umwandlung läuft vollständig in deinem Browser, die Datei verlässt dein Gerät also nicht. Du kannst das selbst nachprüfen: Öffne den Netzwerk-Tab der Entwicklerwerkzeuge und wandle etwas um. Zu sehen sind die Seite selbst und die Statistik- und Werbeanfragen, mit denen dieser Dienst bezahlt wird — und keine einzige, die deine Datei trägt.

Ist das Umwandeln von OBJ in STL kostenlos?

Ja. Kein Konto, kein Wasserzeichen und kein Tageskontingent, das sich verbraucht — es läuft auf deinem eigenen Rechner, du darfst also so oft wiederkommen, wie du willst. Dateien bis 100 MB verarbeitet der Browser, 100 auf einmal.

Geht beim Umwandeln von OBJ in STL Qualität verloren?

OBJ und STL beschreiben Inhalte auf grundverschiedene Weise. Die Umwandlung ist deshalb ein Nachbau und keine Kopie: originalgetreu, aber nicht Byte für Byte dasselbe. Nur die Geometrie. Materialien, Farben, Texturen und Animation kommen nicht mit, und ein mehrfach platziertes Modell kommt so zurück, dass jede Kopie fest an ihrer eigenen Position sitzt.

Muss ich etwas installieren, um STL-Dateien zu öffnen?

Für die Umwandlung selbst nicht — sie läuft in dem Browser, den du ohnehin offen hast. Zum Öffnen brauchst du danach das Programm, das auf deinem Gerät üblicherweise Stereolithography anzeigt.

Mehr über diese Formate