Gids

Wat is een OBJ-bestand? OBJ naar STL

Bijgewerkt · Alleen mesh-OBJ naar STL

Lees wat Wavefront-OBJ bewaart, hoe MTL en UVs erbij horen, en wanneer je een mesh naar STL exporteert om te printen. Zet lokaal om in je browser.

OBJ is een tekstmeshformaat dat uit Wavefront komt. Je ziet het als een .obj-bestand, soms met een .mtl-bestand ernaast en een map afbeeldingen waar het MTL naartoe wijst. Modelleerprogramma’s zoals Blender schrijven het als je om Wavefront vraagt. Slicers kunnen het soms openen, en ze gedragen zich vaak beter met STL. Deze pagina is de introductie. De omzetter op de startpagina is wat de mesh in die STL verandert.

Wat de tekst bevat

Een OBJ is op regels georganiseerd. Regels die met v beginnen zijn vertexposities, drie getallen per stuk. Regels die met f beginnen zijn vlakken, geschreven als indexen in die vertexlijst. Een vlak kan drie indexen noemen (een driehoek) of meer (een quad of een n-gon). Normalen, als ze er zijn, gebruiken vn. Textuurcoördinaten gebruiken vt. Een vlak kan er dan uitzien als f 1/1/1 2/2/2 3/3/3, dus vertex, UV en normaal samen. Objectregels (o) en groepsregels (g) splitsen het bestand in benoemde stukken. Commentaar begint met #.

Geen van die letters noemt een eenheid. De getallen zijn alleen getallen. Een vertex op 10 0 0 kan 10 mm of 10 m zijn. Die stilte is waarom de omzetter het je vraagt, en waarom de gids millimeters of meters bestaat. Het bestand beslecht de discussie niet voor je.

Omdat het tekst is, kun je een klein OBJ openen en lezen. Een productiesculptuur is nog steeds tekst, en kan enorm zijn. Deze site weigert bestanden boven 40 MB vóór het inlezen, zodat één keer neerzetten het tabblad niet alleen door de grootte laat vastlopen. Dichte bestanden onder die grens kunnen nog zwaar zijn. Het aantal driehoeken na het inlezen vertelt wat de STL zal bevatten.

Materialen zijn een tweede bestand

De regel mtllib noemt een MTL-bestand. In het MTL kun je kleuren en paden naar afbeeldingen vinden. Die afbeeldingen zitten niet in het OBJ. Het zijn gewone plaatjes op schijf. Deze omzetter negeert mtllib, negeert usemtl en negeert UVs. Het STL-formaat dat wij schrijven heeft geen eerlijke plek voor een textuur. Is het OBJ een spelmodel of een gerenderde afbeelding, bewaar dan het OBJ, het MTL en de afbeeldingen bij elkaar. Maak een aparte STL voor de slicer. OBJ vs STL is de keuzetabel voor die splitsing.

Meerdere benoemde objecten worden één driehoekenlijst in de STL. Dat is handig voor één print en een probleem als je losse onderdelen wilde. Exporteer aparte OBJ’s als de onderdelen aparte printopdrachten zijn. Het objectaantal op de omzetter vertelt hoeveel meshstukken zijn samengevoegd.

Wat we kunnen omzetten, en wat niet

We zetten meshvlakken om. Quads en n-gons worden in driehoeken verdeeld. Punten en lijnstukken worden overgeslagen. Blijft er niets met oppervlak over, dan zegt de pagina dat het OBJ geen driehoeksvlakken heeft.

We zetten geen STEP of STP om. Dat zijn CAD-bestanden met een randvoorstelling. Ze zijn geen lijst v- en f-regels, en deze site bevat geen CAD-kern. Exporteer een mesh-OBJ uit het CAD-programma en kom terug.

We zetten geen PNG of JPG om. Een afbeelding heeft beeldpunten, geen vlakken. Een plaatje model.obj noemen faalt de extensiecontrole als het achtervoegsel nog een afbeeldingsachtervoegsel is, en een hernoemd bestand zonder vlakken faalt de controle op een lege mesh. Geen van beide paden wordt een hoogtemap. Bouw een mesh in een modelleerprogramma als je geometrie nodig hebt, en exporteer daarna OBJ.

Een bestand dat al STL is, moet STL blijven. Het hier neerzetten wordt geweigerd, zodat je een printbestand niet per ongeluk «omzet» in een tweede printbestand.

Van dit bestand naar een slicer

De praktische volgorde is kort. Exporteer OBJ uit Blender met de schaal toegepast. Zet het op de omzetter. Laat de eenheden kloppen. Lees de begrenzingsbox en het aantal driehoeken. Download binaire STL. Open die STL in Bambu Studio, Cura of PrusaSlicer en bevestig de maat. Het langere klikpad is OBJ naar STL omzetten. Wat je aan het eind hebt, staat in wat STL is.

OBJ is een goed uitwisselingsformaat en een slechte plek om een belofte over printbaarheid te bewaren. Vlakken kunnen binnenstebuiten staan. Schalen kunnen open zijn. De omzetter schrijft toch driehoeken. Kijk naar het voorbeeld als je snel de oriëntatie wilt zien, en vertrouw daarna de eigen controles van de slicer vóór een lange print.

Vragen

Is elk .obj-bestand een driehoekenmesh?

Nee. OBJ kan polygonen bewaren, en sommige bestanden bevatten alleen punten of lijnen. Deze omzetter heeft vlakken nodig. Polygonen worden tijdens het inlezen in driehoeken verdeeld. Bestanden zonder vlakken falen met een duidelijke fout.

Wat is het MTL-bestand naast mijn OBJ?

MTL is een materialenbibliotheek. Het noemt kleuren en textuurbestanden. Deze omzetter leest het niet. Bewaar het als je het OBJ nog rendert. Het is niet nodig om een STL te bouwen.

Kan een OBJ een STEP-model in vermomming zijn?

Nee. STEP is een ander CAD-formaat. Het hernoemen naar .obj maakt er geen mesh van. Exporteer een echt OBJ uit het CAD-programma.

Dit soort OBJ naar STL omzetten