Cookies voor statistiek en advertenties
We gebruiken cookies voor statistiek en voor advertenties, allebei naar Google. Weigeren verandert niets aan wat je te zien krijgt.Lees de privacypagina
Hier zet je STL naar OBJ om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. De omzetting gebeurt binnen je eigen browser, dus het bestand wordt nooit geüpload. Het werkt hetzelfde op Windows, macOS en Linux als op iPhone en Android, en het blijft werken als je de verbinding verbreekt.
Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.
Ze worden een voor een omgezet en samen in één ZIP gedownload.
STL naar OBJ
STL bestaat om gesneden te worden. Het bevat driehoeken en verder niets, precies wat een slicer wil en precies wat een bewerkingsprogramma niet wil — geen groepen om te isoleren, geen materialen, geen namen om op te zoeken, en cruciaal: geen gedeelde punten. Alles wat een modelleur doet, begint met een deel van een mesh selecteren, en een STL geeft niets om te selecteren.
OBJ is het tegenovergestelde: tekst, geïndexeerd, gegroepeerd, universeel geïmporteerd. Geen beter formaat dan STL in het algemeen, maar wel het formaat dat elke tool in een modelleerpijplijn als standaard behandelt.
Een kubus in een STL is twaalf driehoeken met zesendertig punten, want elke driehoek draagt zijn drie hoeken los, en de acht echte hoeken staan er dus vier of vijf keer. Importeer dat ongewijzigd en elke driehoek is zijn eigen eiland: Select Linked kiest één vlak, loop select vindt geen lus, subdivisie geeft gaten.
De lezer hier voegt samenvallende punten samen voordat er iets geschreven wordt. De vergelijkingssleutel is afgerond op zes decimalen, want twee driehoeken die een rand delen, zijn het vaak net niet eens over het laatste bitje van een float. De kubus komt eruit met acht punten en twaalf vlakken — een mesh in de zin die een modelleur bedoelt.
Een commentaarregel, één o-regel met de naam van de enige groep, dan een v-regel per punt en een f-regel per driehoek. Dat is het hele bestand. Indices zijn één-gebaseerd, zoals OBJ vereist.
Er zijn geen vt-regels want een STL heeft geen textuurcoördinaten, geen vn-regels want de normalen zijn afleidbaar, geen usemtl-regel want er is geen materiaal. Alles dat OBJ opent, leest het probleemloos.
Een STL kent geen begrip van een object, dus heeft de OBJ één groep, genaamd mesh_1. Een model samengesteld uit een romp, een deksel en een handvat komt aan als één groep met drie losse schillen.
Elk bewerkingsprogramma kan dat splitsen. Blender doet het met Separate By Loose Parts, MeshLab met Split in Connected Components. Wat geen van beide kan, is de namen terughalen, want de STL had ze nooit.
Een STL bewaart een vlaknormaal per driehoek. Die wordt niet in de OBJ geschreven, en er gaat niets verloren: een vlaknormaal ligt volledig vast door de wikkelvolgorde van zijn drie hoeken, en elke toepassing berekent hem opnieuw bij import.
De afwezigheid van puntnormalen is interessanter. Zonder ze berekent de importeur zijn eigen normalen, wat bij een samengevoegde mesh middeling over de gedeelde punten betekent — het model komt aan klaar om vloeiend of vlak geshade te worden, jouw keuze.
Beide varianten zetten om en het bestand zegt niet welke het is. De gebruikelijke test — begint het bestand met het woord «solid»? — is fout, want een binaire STL mag alles in zijn header van tachtig bytes hebben, en verschillende schrijvers zetten daar «solid» in.
De betrouwbare test is rekenkunde: een binaire STL is precies 84 + 50n bytes voor het aantal driehoeken in de header. Klopt dat niet, dan wordt het bestand als tekst gedecodeerd. Een bestand dat geen van beide is, stopt met een melding in plaats van een lege mesh te produceren.
Twee effecten trekken tegengesteld. Samenvoegen verwijdert het grootste deel van de duplicatie: een typische mesh heeft elk punt gedeeld door vijf of zes driehoeken. Tekst zwelt op wat overblijft: een float van vier bytes wordt tien tot vijftien tekens decimaal.
Het resultaat zit meestal in dezelfde orde van grootte, met de OBJ iets voorop. Het gratis plafond hier is 100 MB, ongeveer twee miljoen STL-driehoeken.
Twee instellingen zijn de moeite van controleren waard. De op-as: OBJ heeft geen conventie en Blenders importeur gaat standaard uit van Y-omhoog, terwijl een STL uit een CAD- of printworkflow vrijwel altijd Z-omhoog is.
En de schaal: geen van beide formaten declareert een eenheid, en was de STL in millimeter, dan behandelt een Blender-scène in meters een onderdeel van 60 mm als zestig meter. Merge By Distance met een kleine drempel na import vangt wat de zes-decimale samenvoeging miste.
De mesh is samengevoegd en bestaat nog steeds volledig uit driehoeken, want dat is alles wat de STL ooit bevatte. Vierhoeken en n-hoeken zijn niet terug te halen. Sculpten, booleaanse bewerkingen, decimeren en meten werken allemaal prima op driehoeken.
Wat niet goed werkt, is subdivisie-oppervlaktemodellering, die vierhoeken wil. Ga je verder werken aan dit model, dan is retopologie de eerlijke volgende stap: Blenders Quadriflow Remesh of ZBrush’s ZRemesher geven je in één stap een vierhoeksmesh.
In dit browsertabblad, door gewone JavaScript. Geen WebAssembly-module wordt gedownload, niets wordt geüpload, er is geen account en geen daglimiet.
STL-bestanden zijn vaak andermans ontwerp — een klantonderdeel, een leveranciersgeometrie, een onderdeel onder overeenkomst — en het werk op deze pagina is precies de situatie waarin dat telt. Een omzetting die het bestand nooit verstuurt, omzeilt de vraag in plaats van hem te beantwoorden.
| STL | OBJ | |
|---|---|---|
| Volledige naam | Stereolithography | Wavefront-object |
| Bestandsextensie | .stl | .obj |
| Mediatype | model/stl | model/obj |
| Voor het eerst gepubliceerd | 1987 | 1992 |
| Uitgegeven door | 3D Systems | Wavefront Technologies |
| Licentie | Open standaard | Open standaard |
| Stand van zaken | Actueel | Actueel |
| Opent in een browser | Geen browser | Geen browser |
| In plaats daarvan overwogen | 3MF, PLY | GLTF, PLY |
Blender leest zowel STL als OBJ, dus je kunt het resultaat naast het origineel leggen zonder een tweede programma.
De twee mikken op ander werk: STL op 3D-printen, OBJ op gegevens tussen programma’s verplaatsen en bewerken. Dat is het afwegen waard, want de reden dat het ene bestaat is meestal de reden dat het andere onhandig is.
OBJ komt van Wavefront Technologies en stamt uit 1992. Blender, MeshLab en Maya lezen het formaat.
Nee. Deze omzetting gebeurt volledig in je browser, dus het bestand verlaat je apparaat niet. Je kunt het zelf nagaan: open het netwerktabblad van de ontwikkelaarshulpmiddelen en zet iets om. Je ziet de pagina zelf en de verzoeken voor statistiek en advertenties waarmee deze dienst betaald wordt, en geen enkel verzoek dat je bestand meeneemt.
Ja. Geen account, geen watermerk en geen dagtegoed dat opraakt: het draait op je eigen machine, dus je mag zo vaak terugkomen als je wilt. De browser verwerkt bestanden tot 100 MB, 100 tegelijk.
STL en OBJ beschrijven de inhoud op fundamenteel andere manieren. De omzetting is daarom een reconstructie en geen kopie: getrouw, maar niet byte voor byte identiek. Alleen de meetkunde. Materialen, kleuren, texturen en animatie gaan niet mee, en een model dat meerdere keren geplaatst is komt terug met elke kopie vastgezet op zijn eigen plek.
Voor de omzetting niet: die gebeurt in de browser die je al open hebt staan. Om het resultaat te openen heb je daarna het programma nodig waarmee je apparaat Wavefront Object normaal weergeeft.