STL vs OBJ vs 3MF: Format File 3D Mana yang Sebaiknya Dipakai?
Pakai STL untuk cetakan satu warna yang tinggal di-slice, OBJ saat model membawa tekstur untuk render atau game engine, dan 3MF bila slicer Anda mendukungnya dan Anda ingin satuan, warna, serta beberapa bagian tetap utuh dalam perjalanan. Format menentukan metadata apa yang ikut bersama mesh; format tidak pernah menentukan apakah mesh itu sendiri sehat.
STL: daftar segitiga, tanpa yang lain
STL ditulis pada 1987 untuk mesin stereolitografi pertama buatan 3D Systems, dan asal-usul itu terlihat jelas dari desainnya. Sebuah file hanyalah daftar segitiga yang datar, masing-masing dijelaskan oleh satu normal bidang (facet normal) dan tiga titik sudut. Tidak ada tabel verteks bersama, sehingga sudut yang bersentuhan dengan enam segitiga ditulis enam kali. Tidak ada pula kolom satuan: koordinat 25 bisa berarti milimeter, inci, atau meter, dan hampir semua slicer menebak milimeter. Warna, tekstur, dan nama bagian tidak punya tempat di format intinya, dan justru karena itulah setiap slicer, paket CAD, dan jasa cetak masih bisa membacanya.
STL hadir dalam dua encoding. STL ASCII menuliskan semuanya sebagai teks, dengan baris seperti facet normal, outer loop, dan vertex 12.5 0 3.2, sehingga Anda bisa membukanya di editor teks dan membaca angkanya. STL biner diawali header 80 byte dan jumlah segitiga 4 byte, lalu menyimpan setiap segitiga sebagai dua belas bilangan float 4 byte ditambah kolom atribut 2 byte: tepat 50 byte per segitiga. Aturan itu membuat ukurannya mudah diperkirakan. Model satu juta segitiga berukuran sekitar 50 MB dalam bentuk biner, dan versi ASCII dari mesh yang sama biasanya empat sampai enam kali lebih besar karena setiap digit menjadi satu karakter.
Kesederhanaan ini sekaligus kekuatan dan jebakannya. STL tidak bisa memberi tahu apakah ia dimaksudkan sebagai satu bagian atau tiga, apakah diekspor dalam inci, atau apakah segitiganya benar-benar membungkus sebuah benda padat. Slicer harus menyimpulkannya dari koordinat mentah, dan kalau tebakannya salah, Anda mendapat bagian yang 25,4 kali terlalu kecil atau dinding yang hilang. Untuk bagian satu warna yang Anda rancang sendiri dan ekspor dalam milimeter, semua itu tidak menjadi soal, dan STL tetap menjadi format yang paling kecil kemungkinannya ditolak.
OBJ: poligon, UV, dan file material pendamping
OBJ berasal dari Wavefront Technologies, yang memakainya di perangkat lunak Advanced Visualizer pada akhir 1980-an, lalu menyebar sepanjang 1990-an sebagai format teks biasa yang bisa dipertukarkan oleh hampir semua program 3D. Berbeda dari STL, OBJ menyimpan daftar verteks dan menyusun bidang dari indeks, sehingga sudut bersama cukup disimpan sekali, dan bidangnya bisa berupa segitiga, segi empat, atau poligon yang lebih besar. Baris yang diawali v berisi posisi, vt koordinat tekstur (UV), vn normal, dan f bidang. Grup (g) dan objek (o) memberi nama pada bagian-bagian model, sehingga OBJ bisa bolak-balik melewati Blender, Maya, atau ZBrush dengan strukturnya tetap utuh.
Tampilan model disimpan di luar file .obj. Baris mtllib menyebut file .mtl pendamping, dan baris usemtl menetapkan material pada bidang. File .mtl menyimpan warna seperti Kd (difus) dan menunjuk ke gambar tekstur lewat entri seperti map_Kd wood.png. Jadi, OBJ bertekstur terdiri dari setidaknya tiga file: geometri, pustaka material, dan satu atau beberapa gambar, semuanya dirujuk lewat path relatif. Kirim hanya file .obj, dan penerimanya akan melihat model berwarna abu-abu. Pemisahan ini berguna di alur kerja game dan VFX, tempat seniman mengganti tekstur tanpa menyentuh geometri, sekaligus menjadi penyebab paling umum model unduhan tampak salah.
OBJ punya titik buta yang sama dengan STL soal skala: ia menyimpan angka polos tanpa satuan. Sebagian besar alat pemodelan menulis dalam meter atau sentimeter, sedangkan slicer membaca milimeter, sehingga OBJ dari toko aset game bisa tiba dengan selisih 10 atau 1.000 kali. Untuk mencetak, OBJ tidak menambahkan apa pun yang dipakai slicer selain warna per verteks di beberapa alat, jadi kalau Anda perlu mencetak aset seni, biasanya paling mudah menyimpan teksturnya untuk render dan mengirim mesh yang bersih ke slicer. Untuk arah sebaliknya, mengubah STL menjadi OBJ adalah jalan terpendek dari model cetak ke alur kerja render atau game.
3MF: paket ZIP yang dirancang untuk mencetak
3MF diterbitkan pada 2015 oleh 3MF Consortium, kelompok yang dirintis Microsoft bersama perusahaan dari industri percetakan dan CAD. File .3mf adalah arsip ZIP, format wadah yang sama dengan yang dibahas di ZIP vs RAR vs 7z. Ganti ekstensinya menjadi .zip, dan Anda akan menemukan file XML 3D/3dmodel.model berisi mesh, file content-types, file relasi, dan sering kali thumbnail serta konfigurasi slicer. Setiap model menyatakan satuannya (mikron, milimeter, sentimeter, inci, kaki, atau meter), sehingga masalah skala yang selalu menghantui STL dan OBJ tidak pernah muncul. Warna, material dasar, beberapa objek, dan posisinya di pelat cetak semuanya menjadi bagian dari spesifikasi.
Spesifikasinya juga mewajibkan mesh yang manifold dan orientasinya konsisten: setiap tepi dipakai bersama oleh tepat dua segitiga, dan semuanya menghadap ke luar. Eksportir yang mengikuti aturan tidak bisa menulis geometri terbuka dan saling memotong yang dengan santai dibawa STL. Dukungan di alat-alat masa kini sudah luas. PrusaSlicer, Bambu Studio, OrcaSlicer, dan UltiMaker Cura membaca 3MF; PrusaSlicer dan Bambu Studio menyimpan seluruh proyek sebagai .3mf lengkap dengan pengaturan cetak dan warna hasil pengecatan; dan aplikasi 3D Builder dari Microsoft di Windows bisa membukanya langsung. Titik lemahnya ada pada firmware lama, portal print farm, dan importer CAD yang masih mengharapkan STL; untuk itu, ubah 3MF ke STL dan terima bahwa informasi tambahannya tertinggal.
| from ↓ · to → | Satuan | Warna | Tekstur | Banyak bagian | Pengaturan cetak | Aturan manifold |
|---|---|---|---|---|---|---|
| STL | – STL to Satuan: no | – STL to Warna: no | – STL to Tekstur: no | – STL to Banyak bagian: no | – STL to Pengaturan cetak: no | – STL to Aturan manifold: no |
| OBJ | – OBJ to Satuan: no | OBJ to Warna: yes | OBJ to Tekstur: yes | OBJ to Banyak bagian: yes | – OBJ to Pengaturan cetak: no | – OBJ to Aturan manifold: no |
| 3MF | 3MF to Satuan: yes | 3MF to Warna: yes | 3MF to Tekstur: yes | 3MF to Banyak bagian: yes | 3MF to Pengaturan cetak: yes | 3MF to Aturan manifold: yes |
Mencocokkan format dengan pekerjaan
Format yang tepat bergantung pada ke mana file akan dibawa berikutnya, bukan pada mana yang lebih baru. Jika perhentian berikutnya adalah slicer dan bagiannya satu warna, STL sudah cukup, dan format ini masih dipahami oleh setiap forum, pustaka model, dan jasa cetak. Jika tujuan berikutnya adalah renderer, game engine, atau alat pemodelan milik seniman lain, OBJ mempertahankan UV, normal, dan grup bernama yang dibuang STL, dan bentuk teksnya memudahkan pemeriksaan masalah.
3MF layak dipilih ketika file membawa lebih dari sekadar geometri. Cetakan multiwarna yang dicat di Bambu Studio, satu pelat berisi dua belas bagian yang diatur untuk satu pekerjaan, bagian yang dirancang dalam inci, atau proyek yang ingin Anda buka lagi dengan tinggi layer dan infill yang sama, semuanya membutuhkan 3MF, karena tidak ada format lain di sini yang bisa menyimpan informasi tersebut. Bila tujuannya beragam, simpan versi terlengkap sebagai salinan induk dan ekspor versi yang lebih sederhana darinya dengan konverter model 3D, alih-alih mengonversi berantai.
STL untuk cetakan biasa
Satu bagian, satu warna, diekspor dalam milimeter. Terbuka di setiap slicer, dialog impor CAD, dan formulir unggah jasa cetak.
OBJ untuk model bertekstur
UV, normal, dan grup bernama untuk Blender, Maya, Unity, atau Unreal. Sertakan file .mtl dan gambar teksturnya.
3MF untuk slicer modern
Satuan yang nyata, warna, beberapa objek, dan pengaturan cetak dalam satu ZIP. Format proyek bawaan PrusaSlicer dan Bambu Studio.
Lima penyebab file 3D bermasalah
Sebagian besar cetakan gagal dan impor rusak yang dituduhkan pada format sebenarnya bersumber dari masalah pada mesh, atau dari asumsi program penerima tentang mesh itu. STL paling rentan karena tidak membawa metadata apa pun untuk menangkap kesalahan; OBJ berbagi masalah skala dan file yang hilang; 3MF menghindari sebagian besar masalah itu sejak rancangannya, meski eksportir yang ceroboh tetap bisa menulis mesh yang buruk. Buka baris-baris di bawah untuk melihat seperti apa setiap kegagalan dan dari mana biasanya asalnya.
Mesh non-manifold
Tepi yang hanya dipakai satu segitiga atau oleh tiga segitiga atau lebih, celah di antara permukaan, atau dinding dengan ketebalan nol. Slicer menampilkan layer yang hilang, lubang acak, atau peringatan tentang tepi terbuka. Penyebabnya ada di tahap pemodelan atau ekspor, sering kali karena menggabungkan bagian yang hanya bersentuhan.
Normal terbalik
Sebagian segitiga menghadap ke dalam. Renderer menampilkan bercak hitam atau tembus pandang, dan slicer bisa menganggap area itu sebagai ruang kosong. Perintah hitung ulang normal di Blender, Meshmixer, atau alat perbaikan slicer bisa membereskannya.
Tertukar antara milimeter dan inci
Bagian yang digambar dalam inci tiba 25,4 kali terlalu kecil di slicer yang mengasumsikan milimeter; sentimeter yang terbaca sebagai milimeter menghasilkan kesalahan 10 kali. STL dan OBJ tidak bisa mencatat satuan, jadi Anda yang menetapkannya saat mengekspor atau mengonversi.
File .mtl atau tekstur hilang
OBJ yang muncul abu-abu atau magenta telah kehilangan pustaka material atau gambarnya, atau path di dalam .mtl menunjuk ke folder di komputer seniman aslinya. Simpan semua file dalam satu folder dan zip bersama-sama.
File STL ASCII yang sangat besar
Hasil pindaian detail yang disimpan sebagai STL ASCII bisa melampaui beberapa ratus megabyte, sehingga memperlambat slicer dan menabrak batas unggahan. Mengekspor ulang mesh yang sama sebagai STL biner menyusutkannya menjadi sekitar seperlima tanpa mengubah satu segitiga pun.
Seberapa besar ukuran file tiap format
Ukuran mengikuti struktur. STL biner tetap 50 byte per segitiga, sehingga Anda bisa menghitungnya sebelum mengekspor. STL ASCII mengulang setiap sudut sebagai teks dan biasanya empat sampai enam kali lebih besar daripada versi biner. OBJ menyimpan setiap verteks bersama satu kali dan merujuknya lewat indeks, sehingga untuk mesh tertutup pada umumnya hasilnya lebih kecil daripada STL ASCII dan kira-kira setara STL biner, lebih besar jika juga membawa UV dan normal. 3MF menyimpan XML berindeks lalu mengompresnya di dalam ZIP, yang biasanya menjadikannya yang terkecil dari ketiganya untuk geometri yang sama.
Angka di bawah ini umum untuk mesh tertutup sekitar 500.000 segitiga, misalnya figurin yang detail. Ukuran file sungguhan bervariasi menurut presisi koordinat dan eksportirnya, jadi anggap angka ini sebagai gambaran orde besaran, berguna ketika jasa cetak membatasi ukuran unggahan atau STL yang diekspor dari 3MF ternyata beberapa kali lebih besar.
- STL biner (500.000 segitiga × 50 byte)
- ≈ 25 MB
- STL ASCII, mesh yang sama, umumnya
- ≈ 100–150 MB
- OBJ tanpa UV, umumnya
- ≈ 15–30 MB
- 3MF setelah kompresi ZIP, umumnya
- ≈ 5–12 MB
Yang diperbaiki konversi dan yang tidak akan pernah
Konversi membaca segitiga dari satu wadah dan menuliskannya ke wadah lain. Apa pun yang bisa dinyatakan format tujuan akan ikut terbawa; yang tidak bisa akan dibuang. Itulah sebabnya STL ke OBJ tidak kehilangan apa pun pada geometri, 3MF ke STL kehilangan warna, satuan, dan tata letak pelat, sedangkan OBJ ke STL kehilangan tekstur dan nama bagian. Di alat 3D UltKit, keputusan tambahan itu dibuat eksplisit: Satuan model memberi tahu konverter skala yang dipakai sumber, Sumbu atas menangani perbedaan Y-up dan Z-up antara game engine dan slicer, dan Gabungkan menjadi satu mesh menentukan apakah bagian-bagian yang terpisah tetap terpisah.
Yang tidak dilakukan konversi mana pun adalah memperbaiki mesh. Jika STL punya lubang, OBJ yang Anda buat darinya akan punya lubang yang sama, dan eksportir 3MF akan menolaknya atau tetap menuliskannya. Perbaikan adalah langkah terpisah di alat mesh atau fitur perbaikan bawaan slicer, dan paling baik dilakukan sekali, pada file induk, sebelum Anda mengekspor apa pun. Hal yang sama berlaku untuk skala: konversi tidak bisa tahu bahwa sebuah bagian dimaksudkan dalam inci kecuali Anda memberitahunya. Detail pun begitu: STL dengan sedikit poligon akan menjadi OBJ atau 3MF dengan sedikit poligon, jadi ekspor ulang dari model sumber bila kualitas penting.
Yang dilakukan pergantian format
- Memindahkan segitiga yang sama ke wadah yang diterima program lain
- Menerapkan satuan yang Anda pilih di Satuan model, memperbaiki kesalahan skala 25,4× atau 10×
- Memutar model antara Y-up dan Z-up lewat Sumbu atas
- Menyusutkan STL ASCII dengan menuliskannya dalam bentuk biner
- Mempertahankan atau menggabungkan bagian yang terpisah, tergantung Gabungkan menjadi satu mesh
Yang dibiarkan persis seperti semula
- Lubang, tepi terbuka, dan geometri non-manifold
- Normal yang terbalik atau tidak konsisten
- Bagian yang saling memotong dan dinding setebal nol
- Detail yang sudah hilang saat mesh pertama kali diekspor
- Warna dan tekstur bila format tujuan tidak punya tempat untuknya
Tabel keputusan: STL, OBJ, atau 3MF
Dua format lain selalu muncul setiap kali pertanyaan ini diajukan. STEP (ISO 10303) menyimpan benda padat dan permukaan yang eksak, bukan segitiga, sehingga format inilah yang dipakai ketika sebuah bagian perlu dibuka lagi di Fusion 360, SolidWorks, atau FreeCAD untuk diedit. GLB, bentuk biner dari glTF 2.0 milik Khronos Group, mengemas mesh beserta material dan teksturnya dalam satu file bersatuan meter dan menjadi format untuk menampilkan model di web atau di AR Android.
Untuk tiga format yang dibahas artikel ini, tabel di bawah merangkum pilihan berdasarkan tujuan file. Jika dua baris sama-sama cocok, pilih format yang membawa lebih banyak informasi dan ekspor versi yang lebih sederhana belakangan; beralih dari 3MF ke STL itu mudah, sedangkan membangun ulang warna atau satuan yang hilang adalah pekerjaan manual.
| Situasi | Format terbaik | Alasan |
|---|---|---|
| Bagian satu warna untuk slicer apa pun | STL (biner) | Didukung di mana saja; slicer tidak butuh yang lain |
| Mengunggah ke pustaka model atau jasa cetak | STL, ditambah 3MF jika tersedia | STL selalu diterima; 3MF mempertahankan satuan dan warna |
| Cetakan multiwarna atau multimaterial | 3MF | Satu-satunya format di sini yang menyimpan warna dan material per bagian untuk slicer |
| Satu pelat berisi beberapa bagian dengan pengaturan cetak | 3MF | Menyimpan posisi objek dan pengaturan slicer dalam satu file |
| Bagian yang dirancang dalam inci | 3MF | Menyatakan satuannya, jadi tidak ada yang terskala 25,4 kali |
| Model bertekstur untuk Blender, Unity, atau Unreal | OBJ (+ .mtl dan gambar) | Mempertahankan UV, normal, dan penetapan material |
| Pemeriksaan cepat di editor teks | OBJ atau STL ASCII | Teks biasa yang bisa dibaca baris demi baris |
| Firmware atau perangkat lunak lama yang hanya mengenal STL | STL | Buang informasi tambahan dan kirim mesh-nya saja |
Poin penting
- STL hanya menyimpan segitiga: tanpa satuan, tanpa warna, dan 50 byte per segitiga dalam bentuk binernya.
- OBJ menambahkan UV, normal, dan grup bernama, tetapi warna dan teksturnya bergantung pada file .mtl terpisah dan file gambar.
- 3MF adalah ZIP berisi XML yang mencatat satuan, warna, beberapa objek, dan pengaturan cetak, serta mewajibkan mesh tertutup.
- Pakai STL untuk cetakan satu warna biasa, OBJ untuk model bertekstur di alur kerja seni dan game, dan 3MF kapan pun slicer Anda mendukungnya.
- Konversi mengganti wadahnya, bukan mesh-nya: perbaiki lubang dan normal di alat mesh, dan tetapkan satuannya sendiri.
Pertanyaan yang sering diajukan
Apakah STL akan digantikan oleh 3MF untuk cetak 3D?
Perlahan, untuk alur kerja pencetakan. PrusaSlicer dan Bambu Studio sudah menyimpan proyek sebagai 3MF, tetapi STL tetap menjadi format yang diterima semua alat dan pustaka model, sehingga keduanya akan berdampingan selama bertahun-tahun.
Bisakah STL biner menyimpan warna?
Tidak dengan cara standar. Beberapa program menulis warna ke kolom atribut 2 byte di setiap segitiga, tetapi sebagian besar slicer mengabaikannya, jadi pakai 3MF atau OBJ bila warna penting.
Mengapa file OBJ saya tampil abu-abu setelah diunduh?
File .mtl atau gambar teksturnya tertinggal, atau path di dalam .mtl menunjuk ke folder yang tidak ada di komputer Anda. Taruh file .obj, .mtl, dan gambarnya dalam satu folder, lalu muat ulang modelnya.
Mana yang menghasilkan cetakan lebih akurat, STL ASCII atau STL biner?
Dalam praktiknya tidak ada yang lebih akurat. Keduanya menggambarkan segitiga yang sama; versi biner menyimpan koordinat sebagai float 32-bit dan versi ASCII sebagai teks, dan file biner biasanya beberapa kali lebih kecil.
Bisakah OBJ diubah kembali menjadi STL untuk dicetak?
Bisa. Segitiganya terbawa tanpa perubahan, sedangkan UV, material, dan tekstur dibuang karena STL tidak punya tempat untuknya. Periksa skalanya setelah itu, karena file OBJ dari alat pemodelan sering kali bersatuan meter atau sentimeter.
Format 3D apa yang sebaiknya dipakai untuk berbagi model agar dicetak orang lain?
Sediakan STL untuk kompatibilitas seluas mungkin dan, jika model terdiri dari beberapa bagian, berwarna, atau dirancang dalam inci, tambahkan 3MF di sampingnya agar pengguna slicer modern mendapatkan pengaturan lengkapnya.
Baca juga
ZIP vs RAR vs 7z: Format Arsip Mana yang Sebaiknya Dipakai?
ZIP terbuka di semua komputer dan ponsel, 7z paling kecil dan bisa menyembunyikan nama file, RAR punya recovery record. Bandingkan kompresi dan enkripsi.
Lucas Ferreira · 27 Sep 2026 · 11 menit baca
TTF vs OTF vs WOFF: Format Font untuk Diinstal dan untuk Web
Instal TTF atau OTF di Windows, macOS, dan Linux; pakai WOFF2 di situs web dengan WOFF sebagai cadangan. Isi tiap format, ukuran file, dan efek konversi.
Jonas Weber · 10 Sep 2026 · 11 menit baca
Cara Mengubah PNG ke SVG: Tracing Logo, Ikon, dan Gambar Garis
PNG baru menjadi SVG sungguhan lewat tracing. Pelajari gambar yang cocok, cara menyiapkan PNG, pengaturan warna dan ambang batas, serta cara mengecek path.
Jonas Weber · 4 Okt 2026 · 12 menit baca