STL naar OBJ omzetten

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.

  • Waar het draait In je browser. Het bestand wordt nooit geüpload.
  • Opnieuw opgebouwd OBJ werkt anders dan STL. Het is dus niet het geleidelijke kwaliteitsverlies van een lossy codec: wat OBJ kan uitdrukken wordt getrouw weergegeven, en wat daar geen equivalent heeft blijft helemaal weg.
  • Maximale grootte Tot 100 MB per bestand, gratis en zonder account.
  • Goed om te weten 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.

Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.

Een STL uit de printwereld halen zodat je hem kunt bewerken

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.

Samenvoegen maakt de mesh überhaupt selecteerbaar

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.

Wat het OBJ-bestand werkelijk bevat

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.

De ene groep, en de delen achteraf scheiden

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.

Er worden geen normalen geschreven, en dat is de juiste keuze

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.

Hoe de lezer beslist of je STL binair of tekst is

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.

De grootte van de OBJ tegenover de STL waar hij vandaan komt

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.

De omgezette OBJ importeren in Blender of MeshLab

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.

Driehoeken helemaal naar beneden, en wat dat voor bewerken betekent

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.

Waar de STL omgezet wordt

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.

Zo zet je STL naar OBJ om

  1. Sleep je STL-bestand op deze pagina, of klik om er een te kiezen.
  2. Kies OBJ als doel. De omzetting gebeurt in je browser en het bestand wordt niet geüpload.
  3. Download het klare OBJ-bestand.

STL of OBJ: wat er verandert

STL vergeleken met OBJ
STLOBJ
Volledige naamStereolithographyWavefront-object
Bestandsextensie.stl.obj
Mediatypemodel/stlmodel/obj
Voor het eerst gepubliceerd19871992
Uitgegeven door3D SystemsWavefront Technologies
LicentieOpen standaardOpen standaard
Stand van zakenActueelActueel
Opent in een browserGeen browserGeen browser
In plaats daarvan overwogen3MF, PLYGLTF, PLY

Het resultaat openen

Blender leest zowel STL als OBJ, dus je kunt het resultaat naast het origineel leggen zonder een tweede programma.

Waarvoor elk formaat bedoeld is

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.

Van STL naar OBJ: veelgestelde vragen

Wordt mijn STL-bestand ergens heen geüpload?

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.

Is STL naar OBJ omzetten gratis?

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.

Gaat er kwaliteit verloren bij het omzetten van STL naar OBJ?

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.

Moet ik iets installeren om een OBJ-bestand te openen?

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.

Meer over deze formaten