ASCII ve binary STL: boyut, hassasiyet ve dışa aktarma
ASCII ve binary STL, üçgen yüzeyleri farklı dosya gösterimleriyle tanımlar. Gösterimi değiştirmek, üçgen sayısı azalmadan dosya boyutunu değiştirebilir. Bu nedenle özellikle ASCII kaynak çok daha küçük indirildiğinde binary çıktı ile mesh sadeleştirmeyi ayırmak önemlidir. Aynı boyut yüzdesi her iki işlemde de aynı geometri değişikliği anlamına gelmez.
STL çalışma alanını açASCII metin, binary sabit boyutlu kayıt saklar
ASCII STL, yüz normallerini ve köşe koordinatlarını okunabilir metin olarak yazar. Boyutu sayıların yazımına, boşluklara, satır sonlarına ve üçgen sayısına bağlıdır. Uzun ondalık dizileri, yüzey oldukça basit olsa bile dosyayı büyütebilir. Bu nedenle iki ASCII dosyanın üçgen sayısı aynıyken boyutları farklı olabilir.
Standart binary STL, 80 bayt başlık, dört bayt üçgen sayısı ve her üçgen için 50 bayt kullanır. n üçgen için dosya boyutu 84 + 50 × n bayttır. Örneğin 20.000 üçgen 1.000.084 bayt tutar. Bu bir dosya yapısı hesabıdır; ölçülmüş sıkıştırma sonucu veya ASCII girdiye yönelik küçülme sözü değildir.
Ortak köşeler binary STL'yi sıkıştırmaz
Bir işlem aracı ağı bellekte ortak köşeler ve üçgen indeksleriyle tutabilir. Böylece çalışma gösteriminde aynı koordinatlar daha az tekrarlanır ve geometri işlemleri yapılabilir. Standart binary STL ise bu indeks tablosunu saklamaz: her üçgenin üç köşe koordinatı dosyaya yeniden yazılır.
Bu yüzden bellekte özdeş köşeleri birleştirmek, dışa aktarılan binary STL'yi tek başına küçültmez. Üçgen sayısı aynıysa standart binary dosyanın bayt uzunluğu da aynıdır. Bu uzunluğu daha fazla azaltmak için çıktıda daha az üçgen gerekir. Bellekte daha az benzersiz nokta görmek, diskte daha küçük bir STL elde edildiğini göstermez. Köşe indeksleme ayrı bir STL sıkıştırma yöntemi değildir.
Float32 yuvarlamasını ve çıktı değişikliklerini hesaba kat
Voloomy koordinatları, binary STL'nin gösterimine uygun 32 bit kayan noktalı sayılarla okur. Daha hassas yazılmış ASCII sayıları Float32'ye yuvarlanırken son basamaklarında değişebilir. Bu dönüşümü her özgün ondalığın veya fiziksel ölçünün tam olarak korunduğu garantisi şeklinde anlatmak doğru değildir.
Dışa aktarma ayrıca Voloomy başlığı yazar ve yüz normallerini üçgen sarım yönünden yeniden üretir. Kaynak solid adları ve kayıtlı normaller tutulmaz; standart dışı STL renk özellikleri korunmaz. Çıktı bütün üçgenleri tutsa bile bunlar dışa aktarma değişiklikleridir. Başka bir iş akışın bu bilgilere veya koordinat hassasiyetine ihtiyaç duyuyorsa orijinalini sakla.
Biçim kazancını üçgen azaltmadan ayır
Bayt boyutunun yanında kaynak ve çıktı üçgen sayılarını da karşılaştır. ASCII model, bütün üçgenleri korunarak daha küçük binary dosyaya aktarılmışsa fark daha az yüzden değil, gösterimden gelir. Bu gözlem yukarıdaki Float32 yuvarlamasını ve dosya bilgisi değişikliklerini ortadan kaldırmaz.
Üçgenler azaltıldıysa yüzey de değişmiş olabilir. Voloomy'nin hedef boyutu ve ayrıntı ayarları bu kayıplı adımı yönetir. Yüzde düğmesi kaynak dosyanın bayt miktarını kullanır. Bu nedenle ASCII girdiye göre büyük bir küçülme, üçgenlerin de aynı oranda silindiği anlamına gelmez. Sonucu değerlendirirken yalnız yüzdeye bakmak yerine iki sayıyı birlikte oku.
Sonraki programının kullanabildiği biçimi seç
Dosyayı alacak dilimleyicinin veya CAD programının içe aktarma gereksinimlerini kontrol et. Voloomy ASCII ve binary STL kabul eder, binary STL dışa aktarır. Uyumluluğu yalnız dosya adına bakarak değerlendirmek yerine gerçek indirmeyi sonraki programda aç; boyutları ve önemli yüzey ayrıntılarını orada incele.
İki gösterim de birim bilgisi saklamaz veya baskıya uygunluğu kanıtlamaz. Sorunsuz okunan bir dosyada açık kenarlar, ters yüzler, kendini kesiştirmeler ya da üretime uygun olmayan duvarlar bulunabilir. Binary çıktı bir gösterim seçimidir; bu sorunları onarmaz. Dönüştürme veya sadeleştirmeyi üretim iş akışında kullanmadan önce kaynak dosyanın ayrı bir kopyasını sakla ve sonucu ihtiyacına göre doğrula.
Ölçülmüş bir ASCII–binary örneği
Üretilmiş örnek ASCII biçiminde 9.889.331 bayt, binary dışa aktarımından sonra 1.536.084 bayttır. Önce 30.720, sonra 30.720 üçgen vardır. Bu karşılaştırmada üçgen azaltma uygulanmaz. Örnek Float32 koordinatlardan üretilmiştir; başka ASCII dosyalarında okuma sırasında koordinat yuvarlaması olabilir.