Cookies für Statistik und Werbung
Wir setzen Cookies für Statistik und Werbung ein, beides geht an Google. Wenn du ablehnst, ändert sich für dich sichtbar nichts.Zur Datenschutzseite
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.
Bis zu 100 Dateien auf einmal. Gemischte Formate sind kein Problem.
Sie werden nacheinander umgewandelt und kommen zusammen als ZIP zurück.
OBJ in STL
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 | STL | |
|---|---|---|
| Vollständiger Name | Wavefront-Objekt | Stereolithography |
| Dateiendung | .obj | .stl |
| Medientyp | model/obj | model/stl |
| Erstmals veröffentlicht | 1992 | 1987 |
| Herausgegeben von | Wavefront Technologies | 3D Systems |
| Lizenzlage | Offener Standard | Offener Standard |
| Heutiger Stand | Aktuell | Aktuell |
| Öffnet im Browser | Kein Browser | Kein Browser |
| Stattdessen erwogen | GLTF, PLY | 3MF, PLY |
Blender liest sowohl OBJ als auch STL — du kannst das Ergebnis also gegen das Original prüfen, ohne ein zweites Programm zu brauchen.
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.
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.
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.
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.
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.