Stereolitografifil

Den STL filformatet er et format som brukes i stereolithography programvare (STL står for ST ereo- L ithography). Dette formatet ble utviklet av selskapet 3D Systems. Dette filformatet brukes av mange andre selskaper. Det er mye brukt for rask prototyping og datamaskinstøttet produksjon . Den STL-format beskriver bare overflaten geometrien til et 3-dimensjonalt objekt. Spesielt inkluderer dette formatet ikke informasjon om farge, tekstur eller andre vanlige parametere for en datamaskinstøttet designmodell .

STL-filen beskriver et objekt med dets ytre overflate. Denne overflaten er nødvendigvis lukket og definert av en serie trekanter (eller fasetter). Hver trekant er definert av de kartesiske koordinatene (x, y, z) i en direkte trihedron av enhetens normale vektor (n) orientert mot utsiden av objektet og av dets tre hjørner (hjørner / hjørner på engelsk) ordnet i trigonometrisk retning. For noen programvare kan den normale vektoren settes til (0,0,0); den vil da bli beregnet av programvaren fra koordinatene til toppunktene i henhold til regelen til høyre hånd. Vertices-koordinater var opprinnelig ment å være positive, men negative koordinater opptrer nå ofte i STL-filer. Hver trekant må dele to hjørner med hver av trekanter som ligger ved siden av hverandre. Med andre ord må toppunktet til en trekant ikke være på kanten av en annen trekant. Det er ingen skalainformasjon. Lengdenheten er vilkårlig. Det anbefales å klassifisere poengene ved å øke z for å gjøre filen lettere å lese av noe programvare. I tillegg regnes z-aksen som den vertikale aksen, selv om en korreksjon på y-aksen gjøres av noe 3D-designprogramvare som Blender .

Det er to typer filer: ASCII og binær. ASCII-filer er enkle å lage, for hånd eller med hvilket som helst programmeringsspråk, men kan være veldig store hvis objektet er komplekst. Mindre binærfiler brukes mer av denne grunn. Filer lagres med utvidelsen .stl.

ASCII STL

En ASCII STL-fil begynner med linjen:

solid name

der navnet er en valgfri streng (men hvis navnet utelates, må det alltid være et mellomrom etter den faste koden ). Filen fortsetter med et hvilket som helst antall trekanter, hver representert som følger:

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

Hvor hver n eller v er et desimaltall i formatet "  sign - mantissen -E- skilt - eksponent  ", f.eks -2.648000e-002.

Filen lukkes med:

endsolid name

Strukturen i formatet antyder at det er andre muligheter (for eksempel normale fasetter med mer enn en ytre sløyfe) eller sløyfer med mer enn tre hjørner. I praksis er alle fasetter normale enkle trekanter.

Hvite mellomrom (mellomrom, faner, nye linjer) kan brukes hvor som helst i filen, unntatt innenfor tall eller ord. Mellomrommene mellom kodene "  fasett normal  " og "  ytre sløyfe  " er obligatoriske (de er reserverte ord).

Binær STL

En binær STL-fil er strukturert som følger:

Flytpunktstallene er representert i samsvar med IEEE 754- spesifikasjonen og i liten endian- modus som brukes spesielt på Windows.

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

Fargekoding i binær STL

Det er minst to uoffisielle utvidelser av det binære STL-formatet for koding av fargen på fasetter:

Fargekodingen av en fasett er gitt av 2 byte:

Den røde, grønne og blå definisjonen er omvendt i kodingene til disse to programvarefamiliene, noe som gir problemer med filkompatibilitet fordi programvare som leser disse to filene ikke kan skille dem. Det er heller ikke mulig å definere en fasett med egen gjennomsiktighet.