STL vs OBJ vs 3MF: ce format 3D să alegeți?
Folosiți STL pentru o imprimare monocromă pe care trebuie doar să o feliați, OBJ când modelul are texturi pentru randare sau pentru un motor de joc și 3MF când slicerul îl acceptă și vreți ca unitățile, culorile și mai multe piese să ajungă intacte la destinație. Formatul decide ce metadate însoțesc rețeaua de poligoane, dar niciodată dacă rețeaua în sine este corectă.
STL: o listă de triunghiuri și nimic altceva
STL a fost creat în 1987 pentru primele mașini de stereolitografie ale 3D Systems, iar proiectarea lui își arată originea. Un fișier este o listă simplă de triunghiuri, fiecare descris printr-o normală a fațetei și trei vârfuri. Nu există un tabel comun de vârfuri, așa că un colț care aparține a șase triunghiuri este scris de șase ori. Nu există nici câmp pentru unitate: o coordonată 25 poate însemna milimetri, inchi sau metri, iar aproape toate sliceri-ele presupun milimetri. Culoarea, textura și numele pieselor nu au loc în formatul de bază, tocmai de aceea fiecare slicer, program CAD și serviciu de printare îl citește și azi.
STL are două codări. STL ASCII scrie totul ca text, cu linii precum facet normal, outer loop și vertex 12.5 0 3.2, deci îl puteți deschide într-un editor de text și citi numerele. STL binar începe cu un antet de 80 de octeți și un contor de triunghiuri de 4 octeți, apoi stochează fiecare triunghi ca douăsprezece numere în virgulă mobilă de 4 octeți plus un câmp de atribute de 2 octeți: exact 50 de octeți pe triunghi. Regula face mărimea ușor de prevăzut. Un model de un milion de triunghiuri are circa 50 MB în format binar, iar versiunea ASCII a aceleiași plase este de obicei de patru până la șase ori mai mare, pentru că fiecare cifră devine un caracter.
Simplitatea este și punctul forte, și capcana. Un STL nu vă spune dacă a fost gândit ca o singură piesă sau ca trei, dacă a fost exportat în inchi sau dacă triunghiurile lui închid într-adevăr un solid. Slicerul deduce asta din coordonatele brute, iar când greșește, obțineți o piesă de 25,4 ori prea mică sau un perete lipsă. Pentru o piesă de o singură culoare, proiectată de dumneavoastră și exportată în milimetri, nimic din toate acestea nu contează, iar STL rămâne formatul cel mai puțin susceptibil să fie respins.
OBJ: poligoane, UV și un fișier separat pentru materiale
OBJ provine de la Wavefront Technologies, al cărei program Advanced Visualizer îl folosea la sfârșitul anilor 1980, și s-a răspândit în anii 1990 ca formatul text simplu pe care îl puteau schimba aproape toate programele 3D. Spre deosebire de STL, păstrează o listă de vârfuri și construiește fețele din indici, deci un colț comun este stocat o singură dată, iar fețele pot fi triunghiuri, patrulatere sau poligoane mai mari. Liniile care încep cu v conțin poziții, vt coordonate de textură (UV-uri), vn normale, iar f fețele. Grupurile (g) și obiectele (o) denumesc piesele, așa că OBJ trece prin Blender, Maya sau ZBrush cu structura intactă.
Aspectul se află în afara fișierului .obj. O linie mtllib indică un fișier .mtl însoțitor, iar liniile usemtl atribuie materiale fețelor. Fișierul .mtl stochează culori precum Kd (difuză) și trimite la imaginile de textură prin intrări precum map_Kd wood.png. Un OBJ cu texturi înseamnă deci cel puțin trei fișiere: geometria, biblioteca de materiale și una sau mai multe imagini, toate referite prin cale relativă. Dacă trimiteți doar .obj, destinatarul vede un model gri. Această separare e utilă în fluxurile de lucru pentru jocuri și VFX, unde artiștii schimbă texturile fără să atingă geometria, și este cel mai frecvent motiv pentru care un model descărcat arată greșit.
OBJ are același punct orb ca STL la scară: stochează numere simple, fără unitate. Majoritatea programelor de modelare scriu în metri sau centimetri, în timp ce sliceri-ele citesc milimetri, deci un OBJ dintr-un magazin de resurse pentru jocuri poate ajunge cu o eroare de 10 sau 1.000 de ori. Pentru printare, OBJ nu adaugă nimic ce un slicer folosește, în afară de culoarea pe vârf în unele programe, așa că, dacă trebuie să printați o resursă artistică, de obicei e mai simplu să păstrați texturile pentru randare și să trimiteți slicerului o plasă curată. În sens invers, transformarea unui STL în OBJ este cea mai scurtă cale de la un model de printare la un flux de randare sau de joc.
3MF: un pachet ZIP creat pentru imprimare
3MF a fost publicat în 2015 de 3MF Consortium, un grup inițiat de Microsoft împreună cu companii din industria printării și a CAD-ului. Un fișier .3mf este o arhivă ZIP, același format de container discutat în ZIP vs RAR vs 7z. Redenumiți-l în .zip și veți găsi un fișier XML 3D/3dmodel.model cu plasa, un fișier de tipuri de conținut, fișiere de relații și adesea miniaturi și configurația slicerului. Fiecare model își declară unitatea (micron, milimetru, centimetru, inch, picior sau metru), deci problema de scară care afectează STL și OBJ pur și simplu nu apare. Culorile, materialele de bază, mai multe obiecte și așezarea lor pe placa de printare fac parte din specificație.
Specificația cere și ca plasele să fie manifold și orientate consecvent: fiecare muchie împărțită de exact două triunghiuri, toate cu fața spre exterior. Exportatoarele care respectă regulile nu pot scrie geometria deschisă, cu autointersecții, pe care un STL o poartă fără probleme. Suportul este larg în uneltele actuale. PrusaSlicer, Bambu Studio, OrcaSlicer și UltiMaker Cura citesc 3MF, PrusaSlicer și Bambu Studio își salvează tot proiectul ca .3mf, cu setările de printare și culorile pictate înăuntru, iar aplicația Microsoft 3D Builder din Windows îl deschide direct. Punctul slab îl reprezintă firmware-ul mai vechi, portalurile fermelor de printare și importatoarele CAD care încă așteaptă STL; pentru ele, convertiți 3MF în STL și acceptați că extrele rămân pe loc.
| from ↓ · to → | Units | Color | Textures | Mai multe piese | Setări de printare | Regula manifold |
|---|---|---|---|---|---|---|
| STL | – STL to Units: no | – STL to Color: no | – STL to Textures: no | – STL to Mai multe piese: no | – STL to Setări de printare: no | – STL to Regula manifold: no |
| OBJ | – OBJ to Units: no | OBJ to Color: yes | OBJ to Textures: yes | OBJ to Mai multe piese: yes | – OBJ to Setări de printare: no | – OBJ to Regula manifold: no |
| 3MF | 3MF to Units: yes | 3MF to Color: yes | 3MF to Textures: yes | 3MF to Mai multe piese: yes | 3MF to Setări de printare: yes | 3MF to Regula manifold: yes |
Formatul potrivit pentru fiecare lucrare
Formatul potrivit depinde de destinația fișierului, nu de care este mai nou. Dacă următoarea oprire este un slicer și piesa are o singură culoare, STL este în regulă și rămâne formatul pe care îl înțelege orice forum, bibliotecă de modele și serviciu de printare. Dacă destinația este un program de randare, un motor de jocuri sau unealta de modelare a altui artist, OBJ păstrează UV-urile, normalele și grupurile denumite pe care STL le pierde, iar forma lui text face problemele ușor de inspectat.
3MF își merită locul când fișierul poartă mai mult decât geometrie. O printare multicoloră pictată în Bambu Studio, o placă cu douăsprezece piese aranjate pentru o lucrare, o piesă proiectată în inchi sau un proiect pe care vreți să-l redeschideți cu aceeași înălțime de strat și același umplere au nevoie de 3MF, pentru că niciun alt format de aici nu poate păstra aceste informații. Dacă aveți mai multe destinații, păstrați versiunea cea mai bogată ca exemplar principal și exportați din ea variante mai simple cu un convertor de modele 3D, în loc să înlănțuiți conversii.
STL pentru printări simple
O piesă, o culoare, exportată în milimetri. Se deschide în orice slicer, orice dialog de import CAD și orice formular de încărcare al unui serviciu de printare.
OBJ pentru modele cu texturi
UV-uri, normale și grupuri denumite pentru Blender, Maya, Unity sau Unreal. Trimiteți împreună fișierul .mtl și imaginile de textură.
3MF pentru sliceri moderni
Unități reale, culori, mai multe obiecte și setări de printare într-un singur ZIP. Format nativ de proiect pentru PrusaSlicer și Bambu Studio.
Cinci probleme frecvente ale fișierelor 3D
Majoritatea printărilor eșuate și a importurilor defecte puse pe seama formatului sunt de fapt probleme ale plasei sau ale presupunerilor programului care o primește. STL este cel mai expus, fiindcă nu are metadate care să prindă greșelile; OBJ are aceleași probleme de scară și de fișiere lipsă; 3MF evită majoritatea prin construcție, deși un exportator neglijent poate scrie totuși o plasă proastă. Deschideți rândurile de mai jos pentru a vedea cum arată fiecare problemă și de unde apare de obicei.
Plasă non-manifold
Muchii împărțite de un singur triunghi sau de trei ori mai multe, goluri între suprafețe sau pereți cu grosime zero. Slicerul arată straturi lipsă, găuri aleatorii sau un avertisment despre muchii deschise. Cauza este în modelare sau în export, adesea de la unirea unor piese care doar se ating.
Normale inversate
Unele triunghiuri sunt orientate spre interior. Programele de randare arată zone negre sau transparente, iar sliceri-ele pot trata regiunea ca spațiu gol. O comandă de recalculare a normalelor în Blender, Meshmixer sau în unealta de reparare a slicerului o rezolvă.
Confuzii între milimetri și inchi
O piesă desenată în inchi ajunge de 25,4 ori prea mică într-un slicer care presupune milimetri; centimetrii citiți ca milimetri dau o eroare de 10 ori. STL și OBJ nu pot înregistra unitatea, deci o setați la export sau la conversie.
Fișier .mtl sau texturi lipsă
Un OBJ care se încarcă gri sau magenta și-a pierdut biblioteca de materiale sau imaginile ori căile din .mtl indică un dosar de pe calculatorul artistului inițial. Păstrați toate fișierele într-un singur dosar și arhivați-le împreună.
Fișiere STL ASCII uriașe
O scanare detaliată salvată ca STL ASCII poate depăși câteva sute de megabyți, ceea ce încetinește sliceri-ele și atinge limitele de încărcare. Reexportarea aceleiași plase ca STL binar o reduce la aproximativ o cincime, fără să schimbe niciun triunghi.
Cât de mare devine de obicei fiecare format
Mărimea decurge din structură. STL binar are exact 50 de octeți pe triunghi, deci o puteți calcula înainte de export. STL ASCII repetă fiecare colț ca text și ajunge de obicei de patru până la șase ori peste cel binar. OBJ stochează fiecare vârf comun o singură dată și îl referă prin index, așa că pentru o plasă închisă obișnuită iese mai mic decât STL ASCII și aproximativ în intervalul STL binar, mai mare dacă poartă și UV-uri și normale. 3MF stochează XML indexat și apoi îl comprimă în ZIP, ceea ce îl face de obicei cel mai mic dintre cele trei pentru aceeași geometrie.
Cifrele de mai jos sunt tipice pentru o plasă închisă de circa 500.000 de triunghiuri, cum ar fi o figurină detaliată. Fișierele reale variază după precizia coordonatelor și exportator, așa că tratați-le ca ordine de mărime, utile când un serviciu de printare limitează încărcările sau când un STL exportat dintr-un 3MF iese de câteva ori mai mare.
- STL binar (500.000 de triunghiuri × 50 de octeți)
- ≈ 25 MB
- STL ASCII, aceeași plasă, valoare tipică
- ≈ 100–150 MB
- OBJ fără UV-uri, valoare tipică
- ≈ 15–30 MB
- 3MF după comprimarea ZIP, valoare tipică
- ≈ 5–12 MB
Ce rezolvă conversia și ce nu va rezolva niciodată
O conversie citește triunghiurile dintr-un container și le scrie în altul. Tot ce poate exprima formatul țintă se păstrează; ce nu poate se pierde. De aceea STL în OBJ nu pierde nimic din geometrie, 3MF în STL pierde culorile, unitățile și aranjarea pe placă, iar OBJ în STL pierde texturile și numele pieselor. În uneltele 3D din UltKit, deciziile suplimentare sunt explicite: Unitățile modelului spune convertorului ce scară folosește sursa, Axa verticală tratează diferența dintre Y în sus și Z în sus între motoarele de jocuri și sliceri, iar Unește într-o singură plasă hotărăște dacă piesele separate rămân separate.
Ce nu face nicio conversie este să repare o plasă. Dacă un STL are o gaură, OBJ-ul făcut din el are aceeași gaură, iar un exportator 3MF fie o refuză, fie o scrie oricum. Repararea este un pas separat, într-o unealtă pentru plase sau în funcția de reparare a slicerului, și se face cel mai bine o singură dată, în fișierul principal, înainte de orice alt export. Același lucru e valabil pentru scară: conversia nu poate ști că o piesă era gândită în inchi dacă nu îi spuneți. La fel și cu detaliul: un STL cu puține poligoane devine un OBJ sau 3MF cu puține poligoane, deci exportați din nou din modelul sursă când calitatea contează.
Ce face schimbarea formatului
- Mută aceleași triunghiuri într-un container pe care îl acceptă alt program
- Aplică unitatea aleasă la Unitățile modelului, corectând o eroare de scară de 25,4× sau 10×
- Rotește modelul între Y în sus și Z în sus cu Axa verticală
- Micșorează un STL ASCII scriindu-l binar
- Păstrează sau unește piesele separate, în funcție de Unește într-o singură plasă
Ce lasă exact cum era
- Găuri, muchii deschise și geometrie non-manifold
- Normale inversate sau inconsecvente
- Piese cu autointersecții și pereți cu grosime zero
- Detaliul pierdut la primul export al plasei
- Culorile și texturile, când formatul țintă nu are loc pentru ele
Tabel de decizie: STL, OBJ sau 3MF
Alte două formate apar mereu când se pune această întrebare. STEP (ISO 10303) stochează solide și suprafețe exacte, nu triunghiuri, deci este formatul potrivit când o piesă trebuie să se întoarcă în Fusion 360, SolidWorks sau FreeCAD pentru editare. GLB, forma binară a glTF 2.0 de la Khronos Group, împachetează o plasă cu materialele și texturile ei într-un singur fișier, în metri, și este formatul pentru afișarea unui model pe web sau în AR pe Android.
Pentru cele trei formate din acest articol, tabelul de mai jos rezumă alegerea în funcție de destinație. Dacă se potrivesc două rânduri, alegeți formatul care poartă mai multe informații și exportați mai târziu varianta mai simplă; trecerea de la 3MF la STL este ușoară, în timp ce refacerea culorilor sau a unităților pierdute este muncă manuală.
| Situație | Cel mai bun format | De ce |
|---|---|---|
| Piesă de o singură culoare, pentru orice slicer | STL (binar) | Suport universal; slicerul nu are nevoie de altceva |
| Încărcare într-o bibliotecă de modele sau la un serviciu de printare | STL, plus 3MF dacă este oferit | STL este mereu acceptat; 3MF păstrează unitățile și culorile |
| Printare multicoloră sau cu mai multe materiale | 3MF | Singurul format de aici care stochează culorile și materialele pe piese pentru sliceri |
| Placă cu mai multe piese și setări de printare | 3MF | Stochează așezarea obiectelor și setările slicerului într-un singur fișier |
| Piesă proiectată în inchi | 3MF | Declară unitatea, deci nimic nu este scalat cu 25,4 |
| Model cu texturi pentru Blender, Unity sau Unreal | OBJ (+ .mtl și imagini) | Păstrează UV-urile, normalele și atribuirea materialelor |
| Verificare rapidă într-un editor de text | OBJ sau STL ASCII | Text simplu, care se poate citi rând cu rând |
| Firmware sau program vechi care acceptă doar STL | STL | Renunțați la extra și trimiteți plasa |
Concluzii principale
- STL stochează doar triunghiuri: fără unități, fără culoare și cu 50 de octeți pe triunghi în forma binară.
- OBJ adaugă UV-uri, normale și grupuri denumite, dar culorile și texturile lui depind de un fișier .mtl separat și de fișiere de imagine.
- 3MF este un ZIP cu XML care înregistrează unități, culori, mai multe obiecte și setări de printare și cere plase închise.
- Folosiți STL pentru printări simple, de o singură culoare, OBJ pentru modele cu texturi în fluxurile de artă și jocuri și 3MF oricând slicerul îl acceptă.
- Conversia schimbă containerul, nu plasa: reparați găurile și normalele într-o unealtă pentru plase și setați singur unitatea.
Întrebări frecvente
Este STL înlocuit de 3MF?
Încet, în fluxurile de lucru pentru printare. PrusaSlicer și Bambu Studio salvează deja proiectele ca 3MF, dar STL rămâne formatul pe care îl acceptă orice program și orice bibliotecă de modele, așa că cele două vor coexista ani de zile.
Poate un STL binar să stocheze culoarea?
Nu într-un mod standard. Unele programe scriu culoarea în câmpul de atribute de 2 octeți al fiecărui triunghi, dar majoritatea programelor de slicing o ignoră, așa că alegeți 3MF sau OBJ când culoarea contează.
De ce fișierul OBJ apare gri după ce îl descarc?
Fișierul .mtl sau imaginile cu texturi au rămas în altă parte, sau căile din interiorul fișierului .mtl indică spre foldere care nu există pe computerul dumneavoastră. Puneți fișierele .obj, .mtl și imaginile într-un singur folder și încărcați din nou modelul.
STL ASCII sau binar: care oferă o imprimare mai precisă?
Niciunul nu printează mai precis în practică. Amândouă descriu aceleași triunghiuri; formatul binar stochează coordonatele ca numere float pe 32 de biți, iar cel ASCII ca text, iar fișierele binare sunt de obicei de câteva ori mai mici.
Pot transforma un OBJ înapoi în STL pentru imprimare?
Da. Triunghiurile se păstrează neschimbate, în timp ce coordonatele UV, materialele și texturile se pierd, deoarece STL nu are unde să le stocheze. Verificați apoi scara, pentru că fișierele OBJ din programele de modelare sunt adesea în metri sau în centimetri.
Ce format să folosesc când partajez un model pe care să îl imprime alții?
Oferiți un STL pentru cea mai largă compatibilitate și, dacă modelul are mai multe piese, culori sau a fost proiectat în inch, adăugați alături un 3MF, ca cei care au un program de slicing modern să primească configurația completă.
Continuă lectura
ZIP vs RAR vs 7z: ce format de arhivă să alegeți?
ZIP merge oriunde, 7z comprimă cel mai bine și ascunde numele, RAR are date de recuperare. Comparăm compresia, criptarea, suportul OS și limitele.
Lucas Ferreira · 27 sept. 2026 · 11 min de citit
TTF vs OTF vs WOFF: ce format instalați și ce puneți pe web
Instalați TTF sau OTF pe Windows, macOS și Linux; pe site folosiți WOFF2, cu WOFF ca rezervă. Ce conține fiecare format și ce schimbă conversia.
Jonas Weber · 10 sept. 2026 · 11 min de citit
Cum convertiți PNG în SVG: logouri, iconițe și desene
Un PNG devine SVG real doar prin vectorizare. Ce imagini se pretează, cum pregătiți PNG-ul, ce setări alegeți și cum verificați traseele.
Jonas Weber · 4 oct. 2026 · 12 min de citit