Stereolitografi dosyası

STL dosya formatı olarak kullanılan bir biçimdir stereolitografi yazılımı (STL duruyor için ST'nin ereo- L ithography). Bu format, 3D Systems şirketi tarafından geliştirilmiştir. Bu dosya formatı diğer birçok şirket tarafından kullanılmaktadır. Hızlı prototipleme ve bilgisayar destekli imalat için yaygın olarak kullanılmaktadır . STL dosyası biçimi 3-boyutlu bir nesnenin sadece yüzey geometrisini açıklamaktadır. Özellikle, bu format bilgisayar destekli bir tasarım modelinin rengi, dokusu veya diğer olağan parametreleriyle ilgili bilgileri içermez .

STL dosyası bir nesneyi dış yüzeyinden tanımlar. Bu yüzey zorunlu olarak kapatılır ve bir dizi üçgen (veya yüz) ile tanımlanır. Her üçgen, nesnenin dışına doğru yönlendirilmiş birim normal vektörünün (n) ve trigonometrik olarak sıralanan üç köşesinin (İngilizce köşeleri / köşeleri) doğrudan bir üçyüzlülündeki Kartezyen koordinatlarıyla (x, y, z) tanımlanır. yön. Bazı yazılımlar için normal vektör (0,0,0) olarak ayarlanabilir; daha sonra yazılım tarafından sağ elin kuralına göre köşelerin koordinatlarından hesaplanacaktır. Tepe koordinatlarının başlangıçta pozitif olması amaçlanmıştı, ancak negatif koordinatlarla artık STL dosyalarında sıkça karşılaşılıyor. Her üçgen, yan yana gelen üçgenlerin her biri ile 2 köşeyi paylaşmalıdır. Başka bir deyişle, bir üçgenin tepe noktası başka bir üçgenin kenarında olmamalıdır. Ölçek bilgisi yok. Uzunluk birimi isteğe bağlıdır. Dosyanın bazı yazılımlar tarafından okunmasını kolaylaştırmak için noktaların z artırılarak sınıflandırılması önerilir. Ek olarak, z ekseni dikey eksen olarak kabul edilir, ancak y ekseninde bir düzeltme Blender gibi bazı 3B tasarım yazılımları tarafından yapılır .

İki tür dosya vardır: ASCII ve ikili. ASCII dosyalarının elle veya herhangi bir programlama diliyle oluşturulması kolaydır, ancak nesne karmaşıksa çok büyük olabilir. Bu nedenle daha küçük ikili dosyalar kullanılır. Dosyalar uzantı ile kaydedilir .stl.

ASCII STL

Bir ASCII STL dosyası şu satırla başlar:

solid name

burada ad isteğe bağlı bir dizedir (ancak ad belirtilmezse , katı koddan sonra her zaman bir boşluk olmalıdır ). Dosya, her biri aşağıdaki gibi temsil edilen herhangi bir sayıda üçgenle devam eder:

facet normal ni nj nk outer loop vertex v1xv1yv1z vertex v2xv2yv2z vertex v3xv3yv3z endloop endfacet

Her n veya v ,  örneğin " işaret - mantis- e- işareti - üs " biçiminde  bir kayan nokta sayısıdır . -2.648000e-002

Dosya şu şekilde kapatılır:

endsolid name

Formatın yapısı, başka olasılıkların (örneğin, birden fazla dış döngüye sahip normal yüzler ) veya üçten fazla köşeli döngüler olduğunu gösterir.Pratikte, normal tüm yönler basit üçgenlerdir.

Beyaz boşluklar (boşluklar, sekmeler, yeni satırlar) sayılar veya sözcükler dışında dosyanın herhangi bir yerinde kullanılabilir. " Normal yüz  " ve "  dış döngü  " kodları arasındaki boşluklar  zorunludur (bunlar ayrılmış sözcüklerdir).

İkili STL

İkili bir STL dosyası aşağıdaki gibi yapılandırılmıştır:

Kayan nokta sayıları, IEEE 754 spesifikasyonuna göre ve özellikle Windows'ta kullanılan küçük endian modunda temsil edilir .

UINT8[80] – en-tête UINT32 – Nombre de triangles
foreach triangle REAL32[3] – Vecteur normal REAL32[3] – Sommet 1 REAL32[3] – Sommet 2 REAL32[3] – Sommet 3 UINT16 – Mot de contrôle end

İkili STL'de renk kodlaması

Fasetlerin rengini kodlamak için ikili STL formatının en az iki resmi olmayan uzantısı vardır:

Bir fasetin renk kodlaması 2 bayt ile verilir:

Bu iki yazılım ailesinin kodlamalarında kırmızı, yeşil ve mavi tanım sırası tersine çevrilir ve bu iki dosyayı okuyan yazılım bunları ayırt edemediği için dosya uyumluluk sorunları ortaya çıkarır. Kendi şeffaflığı olan bir faset tanımlamak da mümkün değildir.