Yaygın STL Sorunlarını Düzeltme: Non‑Manifold Kenarlar ve Delikler
Dilimleyici uyarıları ve bozuk mesh’ler için pratik bir sorun giderme rehberi: non-manifold ne demek, delikler nasıl oluşur ve sorunları kaynaktan (2D) mı yoksa onarım araçlarıyla mı çözmelisiniz?
Adım adım
- 1
Dilimleyicide sorunu tespit edin
“non-manifold”, “self-intersection” gibi uyarılara veya önizlemede eksik katmanlara bakın. Problem bölgesine yakınlaşıp küçük adacık mı, boşluk mu, yüz çakışması mı olduğunu görün.
- 2
Sadece ölçek/kalınlık olmadığını doğrulayın
Bazı “eksik katman” sorunları aslında çok ince geometri kaynaklıdır. Z kalınlığını ve detay boyutlarını kontrol edin. Model çok inceyse önce kalınlığı Ölçek & kalınlık rehberiyle düzeltin.
- 3
Mümkünse kaynaktan düzeltin (2D temizliği)
Görüntü tabanlı mesh’lerde topoloji sorunları çoğunlukla gürültülü pikseller, ince köprüler veya kopuk küçük bölgelerden gelir. Görseli sadeleştirip tekrar dönüştürün.
- 4
STL’yi tekrar üretin ve kontrol edin
PNG / SVG → STL dönüştürücü. Sorun sürerse, son adım olarak onarım aracı kullanın (Netfabb/Meshmixer/PrusaSlicer repair).
- 5
Aşağı akışta onarın (son çare) ve doğrulayın
Onarım yaptıktan sonra sonucu yeniden kontrol edin: mesh watertight mı, normaller tutarlı mı, yeni ince duvarlar oluştu mu? Onarım sürekli bozuyorsa 2D kaynağa dönüp sadeleştirin.
“Non-manifold” ne demek?
Manifold bir mesh’te her kenar tam olarak iki yüze aittir. Non-manifold kenarlar, bir kenar 1 yüze ait olduğunda (delik sınırı) veya 3+ yüz paylaştığında (belirsiz hacim) oluşur. Dilimleyiciler tahmin edebilir ama sonuçlar öngörülemez olabilir.
Yaygın dilimleyici uyarıları
- Non-manifold kenarlar / açık yüzey
- Self-intersection / çakışan yüzler
- İnce duvarlar / eksik üst katmanlar
Önleme kuralları
- Minimum çizgi kalınlığını nozül çizgi genişliğinin üstünde tutun; saç teli köprülerden kaçının.
- Mikro adacıkları kaldırın; izole üçgenler onarım sonrası deliklerin yaygın sebebidir.
- STL’yi defalarca onarmak yerine daha temiz 2D girdiden tekrar dönüştürmeyi tercih edin.
Hızlı düzeltmeler (tekrar dönüştürmeden önce)
- PNG’deki küçük benek/adacıkları kaldırın (havada kalan üçgenlere dönüşür).
- İnce köprü ve çizgileri kalınlaştırın; ekstrüzyon ve slicing’de kaybolmasın.
- Tek renk arka plan kullanın; dokulu arka planlar delik ve self-intersection üretebilir.
Python ile otomatik onarım (toplu iş dostu alternatif)
Birden fazla bozuk STL dosyanız varsa veya GUI yerine script'lenebilir bir iş akışını tercih ediyorsanız, pymeshfix MeshFix'i saran hafif bir Python kütüphanesidir — bazı masaüstü araçların arka planında kullandığı aynı algoritma. Non-manifold kenarları ve delikleri tek bir fonksiyon çağrısıyla halleder ve 2D kaynaklardan üretilen STL'lerde iyi çalışır.
pip install pymeshfix numpyTek STL
import pymeshfix
import numpy as np
# Load your broken STL
mf = pymeshfix.MeshFix("broken.stl")
# Run repair
mf.repair(verbose=True)
# Save fixed STL
mf.save("fixed.stl")
# Optional: inspect what changed
print(f"Holes filled, non-manifold edges resolved.")
print(f"Output saved to fixed.stl")Toplu varyant — klasördeki tüm STL dosyalarını düzelt
import pymeshfix
from pathlib import Path
input_dir = Path("stl_input")
output_dir = Path("stl_fixed")
output_dir.mkdir(exist_ok=True)
for stl_file in input_dir.glob("*.stl"):
mf = pymeshfix.MeshFix(str(stl_file))
mf.repair()
out_path = output_dir / stl_file.name
mf.save(str(out_path))
print(f"Fixed: {stl_file.name} → {out_path}")Ne zaman işe yarar
- Açık sınırlı mesh'ler (ince piksel bölgelerinden gelen delikler).
- Gürültülü PNG dönüşümünden gelen non-manifold kenarlar.
- Birleştirilmesi gereken birden fazla küçük kopuk bileşen.
Ne zaman işe yaramaz
- Ciddi şekilde bozulmuş geometri (modelin tamamında ters normaller).
- MeshFix'in iç/dış ayrımını yapamayacağı kadar bozuk mesh'ler — bu durumlarda 2D kaynağa dönün.
- Çok büyük STL dosyaları (>50 MB) — pymeshfix tüm mesh'i belleğe yükler.
Onarılmış STL'i baskıdan önce her zaman dilimleyicinizde doğrulayın. pymeshfix topoloji sorunlarını çözer ama mesh'in orijinal tasarım niyetinize uyduğunu garanti etmez — onarım sonrası katman önizlemeyi inceleyin.