IT
OmnvertGörsel • Belge • Ağ

STL dosya boyutunu küçültme: hangi yöntem ne kadar kazandırır

5 dakika okuma
Masaüstü bir 3B yazıcının rayı üzerindeki baskı kafası; arkasında kablo taşıyıcı zincir, altında boş baskı tablası.

Binary STL'de her üçgen sabit 50 bayt tutar, sıkıştırma yoktur. Boyutu düşürmenin dört yolu var ve hangisini seçeceğiniz elinizde CAD kaynağının olup olmamasına bağlı.

STL neden bu kadar büyür

Binary STL basit bir dosya: 80 baytlık başlık, 4 baytlık üçgen sayısı, ardından her üçgen için sabit 50 bayt. Yani dosya boyutu 84 + 50 × üçgen sayısı bayttır ve içinde sıkıştırma yoktur. Bir milyon üçgenlik model, modelin ne kadar detaylı göründüğünden bağımsız olarak yaklaşık 48 MB yer kaplar.

İkinci sorun tekrardır. STL köşe noktalarını paylaşmaz: bir köşeye kaç üçgen değiyorsa o koordinat o kadar kez yazılır. Kapalı bir yüzeyde her köşe ortalama altı üçgen tarafından kullanılır, yani aynı üç float değeri altı kez dosyada durur. OBJ, PLY ve 3MF gibi indeksli biçimler bu tekrarı yapmaz; farkı burada görürsünüz.

Önce teşhis: dosyanızda kaç üçgen var

Bir STL'yi küçültmeden önce neyle uğraştığınızı bilin. Binary dosyada üçgen sayısını boyuttan çıkarabilirsiniz: (dosya_boyutu - 84) / 50. Sonuç tam sayı çıkmıyorsa dosya ASCII'dir ya da sonuna fazladan veri eklenmiştir.

  • 2,4 MB binary STL ≈ 48.000 üçgen: fonksiyonel bir parça için fazlasıyla yeterli.
  • 50 MB binary STL ≈ 1 milyon üçgen: genelde CAD'den çok ince ayarla dışa aktarılmıştır.
  • 250 MB ASCII STL ≈ yine 1 milyon üçgen, ama burada asıl sorun üçgen sayısı değil, biçimdir.

Modeli açıp üçgen sayısını ve sınırlayıcı kutuyu görmek için 3D görüntüleyici yeterli; dosyayı hiçbir yere kurmadan tarayıcıda açar.

Boyutu gerçekten düşüren dört yöntem

1. ASCII yerine binary

ASCII STL her üçgeni metin olarak yazar: yaklaşık 250-300 bayt, binary'de aynı üçgen 50 bayt. Dönüştürme tamamen kayıpsızdır, tek bir köşe noktası değişmez. Elinizde metin tabanlı bir STL varsa ilk iş budur; çoğu zaman dosya beşte birine iner ve geometriye hiç dokunmamış olursunuz.

2. Dışa aktarma ayarını düzeltin, sonradan seyreltmeyin

CAD programları katı modeli üçgenlere bölerken iki eşiğe bakar: kiriş sapması (chord height) ve açısal sapma. Varsayılan "çok ince" ayarlar, 5 mm'lik bir deliği yüzlerce üçgenle döşeyip dosyayı şişirir. Sapmayı baskı çözünürlüğünüzle ilişkilendirin: 0,4 mm nozul ve 0,2 mm katmanla çalışıyorsanız 0,02-0,05 mm kiriş sapması basılan parçada ölçülebilir bir fark yaratmaz, üçgen sayısını ise sıklıkla yarıya indirir.

Sıralama önemli: önce doğru ayarla yeniden dışa aktarın, seyreltmeyi ancak kaynak CAD dosyası elinizde değilse kullanın. Yeniden dışa aktarma matematiksel yüzeyden başlar, seyreltme ise zaten bozulmuş bir yaklaşımı daha da bozar.

3. Mesh seyreltme (decimation)

Elinizde yalnızca mesh varsa (tarama, indirilen model, heykel) çözüm üçgen birleştirmedir. Yaygın algoritma quadric edge collapse: her kenar çöküşünün yüzeyden ne kadar sapma yaratacağını hesaplar ve en ucuz olanları önce uygular. Detay, sapmanın küçük olduğu düz bölgelerden alınır; keskin kenarlar korunur.

Pratik bir kural: fonksiyonel parçalarda %50-70 azaltma, baskıda gözle ayırt edilemez. Organik yüzeylerde %80'in üzerine çıkıldığında yumuşak geçişlerde faseti görmeye başlarsınız. Tarayıcıda çalışan STL küçültme aracı hedef oranı verip sonucu aynı ekranda karşılaştırmanıza izin verir; dosya sunucuya gitmeden önce sonucu görürsünüz.

  • Mekanik parça: %50 ile başlayın, delik ve kanal kenarlarını kontrol edin.
  • 3D tarama: %85-90 sıklıkla güvenlidir; tarama gürültüsü zaten sahte detaydır.
  • Yazı ve ince kabartma: %30'u geçmeyin, harf kenarları ilk bozulan yerdir.

4. Paylaşım için 3MF'ye geçin

3MF, içinde XML tutan zip tabanlı bir kaptır: köşe noktaları indekslenir ve dosya sıkıştırılır. Aynı geometri için binary STL'nin beşte biri ile onda biri arasında bir boyut görmek olağandır. Üstelik 3MF birim, renk, malzeme ve çoklu parça bilgisini taşır; STL'de birim bile yoktur, bu yüzden aynı model kimi dilimleyicide milimetre kimisinde inç olarak açılır. Dilimleyicilerin tamamına yakını 3MF okur. 3D model dönüştürücü ile STL, OBJ ve 3MF arasında geçiş yapabilirsiniz.

Ne kadar kazanırsınız

DurumÜçgenYaklaşık boyut
ASCII STL1.000.000~270 MB
Binary STL (aynı geometri)1.000.000~48 MB
%70 seyreltilmiş binary STL300.000~14 MB
Aynı mesh, 3MF300.000~2-4 MB

Tablodaki 3MF aralığı geniş, çünkü sıkıştırma oranı geometrinin düzenliliğine bağlıdır. Düzlem ağırlıklı mekanik parçalar daha iyi sıkışır, gürültülü tarama yüzeyleri daha az.

Küçültmeden önce onarım

Bozuk bir meshi seyreltmek sorunu büyütür. Seyreltme algoritmaları yüzeyin kapalı olduğunu varsayar; delik, ters çevrilmiş normal ya da kendi kendine kesişen yüzey varsa kenar çöküşleri bu bölgelerde tahmin edilemeyen sonuçlar üretir. Sırayı tersine çevirmeyin: önce onarın, sonra küçültün.

  • Açık kenar: Yalnızca tek üçgene değen kenar, katı olmayan bir yüzey demektir; dilimleyici burayı kapatmaya çalışırken duvar kalınlığını kaybedebilir.
  • Ters normal: Üçgenin yönü içeri bakıyorsa dilimleyici içeriyi dışarı sanar, o bölgede dolgu kaybolur.
  • Çift yüzey: Aynı konumda iki üçgen varsa dosya boyutu iki katına çıkar ve dilimleme yavaşlar.

Bu üç kusur genelde birlikte gelir ve dosya boyutunun beklenenden büyük olmasının sessiz sebebidir. Model taramadan geliyorsa onarım adımını atlamayın; CAD çıktısında ise kusur genelde dışa aktarma ayarındandır.

Dilimleyici tarafında ne oluyor

Dilimleyici her katmanda mesh ile bir düzlemi kesiştirir. Maliyet üçgen sayısıyla doğrusal artar, ama basılan yol sayısıyla artmaz: 300.000 üçgenlik bir modelle 1.000.000 üçgenlik aynı model, dilimlendikten sonra neredeyse aynı G-code'u üretir. Aradaki fark dilimleme süresinde ve bellekte görünür, baskı süresinde değil.

Bu yüzden "daha çok üçgen daha iyi baskı" sezgisi yanıltıcıdır. Üçgen sayısını, yüzeyin matematiksel şeklini nozulun taşıyabileceği hassasiyette temsil edecek kadar tutmak yeterlidir; fazlası yalnızca bekleme süresi ve disk alanıdır. Tek istisna, çok büyük ölçekli parçalarda aynı açısal sapmanın milimetre cinsinden büyümesidir: bir metrelik parçada 1 derecelik sapma santimetrelere ulaşabilir, orada üçgen sayısını düşürürken ölçüyü hesaba katmak gerekir.

Sık yapılan üç hata

Dilimleyici için zip'lemek. Dosyayı arşivlemek diskte yer kazandırır ama dilimleyici arşivi açıp aynı meshi işler; dilimleme süresi değişmez. Süreyi düşüren şey üçgen sayısıdır.

Baskı kalitesini dosya boyutuyla karıştırmak. Nozul 0,4 mm ise, 0,01 mm'lik bir üçgen detayının plastikte karşılığı yoktur. Katman yüksekliği ve nozul çapı, taşıyabileceğiniz detayın üst sınırını belirler.

Seyreltmeyi tek kaynak dosya üzerinde yapmak. Seyreltme geri alınamaz. Orijinali saklayın, seyreltilmiş kopyayı ayrı isimle kaydedin; parçayı sonra büyütmeniz gerekirse fasetli yüzeyle uğraşmazsınız.

Önerilen akış

  1. Dosyayı 3D görüntüleyicide açın, üçgen sayısını ve ölçüyü not edin.
  2. ASCII ise binary'ye çevirin; çoğu durumda iş burada biter.
  3. CAD kaynağı varsa kiriş sapmasını 0,02-0,05 mm yapıp yeniden dışa aktarın.
  4. Kaynak yoksa STL küçültme aracıyla kademeli seyreltin, her adımda bakın.
  5. Paylaşım ve arşiv için 3MF'ye dönüştürün, orijinali saklayın.

QR kod, logo ya da düz görselden model üretiyorsanız boyut sorunu genelde kaynakta çözülür: PNG/SVG'den STL ve QR kodundan STL araçlarında çözünürlüğü baskı ölçünüze göre seçmek, sonradan seyreltmekten daha temiz sonuç verir.

Sık sorulanlar

Üçgen sayısını azaltmak baskı kalitesini bozar mı?

Sapma, nozul çapı ve katman yüksekliğinin altında kaldığı sürece bozmaz. 0,4 mm nozul ve 0,2 mm katmanla çalışan bir yazıcıda 0,05 mm'lik yüzey sapması basılan parçada görünmez. Sorun, seyreltmeyi yazı, ince kabartma ve keskin kenarlarda aşırıya götürünce başlar.

Güvenli bir azaltma oranı var mı?

Parça tipine bağlı. Mekanik parçalarda %50-70, 3D taramalarda %85-90 genelde sorunsuzdur; yazı ve ince detay içeren yüzeylerde %30'un üzerine çıkmadan önce sonucu karşılaştırmak gerekir.

3MF her durumda STL'den iyi mi?

Paylaşım, arşiv ve dilimleyiciye aktarma için evet: daha küçük, birim ve renk bilgisini taşır, çoklu parçayı tek dosyada tutar. Sadece STL okuyan eski yazılımlar ve bazı çevrim içi servisler için STL üretmeye devam etmeniz gerekebilir.

Taramadan çıkan STL neden 200 MB oluyor?

Tarayıcılar yüzeyi eşit aralıklı çok sayıda küçük üçgenle örter ve gürültüyü de detay sanar. Bu dosyalarda yüksek oranlı seyreltme genelde geometriden değil, gürültüden kurtarır.

Dosyayı zip'lemek dilimleme süresini kısaltır mı?

Hayır. Dilimleyici arşivi açıp aynı meshi işler. Dilimleme süresini belirleyen üçgen sayısıdır; bu yüzden zip diskte yer kazandırır, işlemede kazandırmaz.

Yazıda kullanılan araçlar

Kaynaklar

YöntemGörsel kaynakları