Qu'est ce qu'un fichier STL ?
Le fichier STL est le format le plus utilisé dans le monde de l’impression 3D. Vous en avez forcément entendu parler si vous travaillez avec un bureau d’études, un fablab, ou un service d’impression 3D professionnel.
Mais concrètement :
qu’est-ce qu’un STL ?
que contient vraiment ce fichier ?
pourquoi est-il omniprésent… et en même temps limité ?
comment bien l’exporter pour éviter des problèmes d’impression ?
C’est ce que nous allons voir dans cet article.
Origine et signification du format STL
Le format STL a été créé à la fin des années 1980 par 3D Systems pour ses premières machines de stéréolithographie. Le sigle vient à l’origine de “STereoLithography”, même si l’on croise parfois les rétro-acronymes Standard Tessellation Language ou Standard Triangle Language.
À l’époque, l’objectif était simple :
→ définir un format de fichier simple à générer par les logiciels de CAO,
→ et simple à exploiter par les machines de fabrication additive.
Depuis, le STL est devenu le standard de facto pour le prototypage rapide, l’impression 3D et de nombreux logiciels de CAO / CAM.
Que contient un fichier STL ?
Un fichier STL ne contient que la géométrie de surface d’un objet, décrite sous forme d’une maille de triangles (maillage triangulaire).
Une surface décrite par des triangles
Concrètement, un STL décrit :
une liste de triangles (facets) ;
pour chaque triangle :
les coordonnées des 3 sommets (x, y, z),
un vecteur normal (orientation de la face).
En “regardant” un STL dans un slicer ou un logiciel 3D, vous visualisez donc une forme composée de milliers à millions de petits triangles. Plus il y a de triangles, plus :
la forme est fidèle à l’original (courbes mieux approximées),
mais plus le fichier est lourd.
Exemple :
un simple cube peut être décrit avec 12 triangles ;
une pièce organique complexe peut en nécessiter plusieurs centaines de milliers.
Informations absentes du STL
Point important : un STL ne sait pas stocker :
ni la couleur (sauf variantes propriétaires non standard),
ni la texture,
ni le matériau,
ni les unités (mm, pouces…),
ni l’historique paramétrique (contraintes, fonctions de CAO, etc.).
Il s’agit uniquement d’une peau triangulée de votre objet, sans aucune information “intelligente” sur sa conception.
STL ASCII et STL binaire : quelle différence ?
Le format STL existe en deux saveurs : ASCII (texte) et binaire.
STL ASCII
Le STL ASCII est un fichier texte lisible, composé de mots-clés (solid, facet normal, vertex, etc.) et de listes de coordonnées.
On peut l’ouvrir dans un simple éditeur texte, ce qui est pratique pour :
déboguer un problème,
ou comprendre la structure du fichier.
Inconvénient :
→ les fichiers sont très volumineux pour des modèles un peu complexes.
STL binaire
En pratique, la majorité des logiciels et services utilisent des STL binaires :
un en-tête de 80 octets,
le nombre de triangles,
puis, pour chaque triangle :
12 flottants 32 bits (3 pour la normale, 9 pour les sommets),
2 octets d’“attribute byte count” (souvent inutilisés).
Avantages :
fichiers beaucoup plus compacts que l’ASCII ;
lecture/écriture plus rapide.
Certaines solutions propriétaires utilisent ces 2 octets d’attribut ou l’en-tête pour stocker des informations de couleur, mais ce n’est pas standard et rarement exploité par les slicers.
Rôle du STL dans le flux d’impression 3D
Dans un processus d’impression 3D classique :
Vous concevez ou récupérez un modèle 3D (CAO paramétrique, modèle polygonal, scan, etc.).
Vous exportez ce modèle au format STL (ou 3MF, OBJ…).
Vous importez ce fichier dans un slicer, qui :
vérifie la cohérence du maillage (volume fermé, sans trous) ;
découpe la pièce en couches ;
génère un G-code (ou équivalent) pour l’imprimante.
Le STL constitue donc une langue commune entre :
les logiciels de CAO très différents,
les logiciels de slicing,
et une grande variété d’imprimantes 3D.
C’est cette universalité qui en a fait le format dominant de l’impression 3D depuis plus de 30 ans.
Les avantages du fichier STL
Simplicité
Le STL a une structure très simple : une liste de triangles. Cela le rend :
facile à générer pour un logiciel de CAO ;
facile à lire pour un slicer ou un logiciel de fabrication.
Cette simplicité explique sa large adoption dans les années 1990–2000, bien avant l’arrivée de formats plus sophistiqués.
Compatibilité quasi universelle
Pratiquement tous les :
logiciels de CAO,
slicers,
services d’impression 3D,
savent importer du STL.
Pour un bureau d’études ou un service d’impression 3D, c’est un avantage énorme : on peut recevoir des fichiers venant de dizaines d’outils différents dans un format commun.
Format neutre, indépendant de la CAO
Le STL ne dépend d’aucun éditeur de CAO en particulier.
Vos interlocuteurs n’ont pas besoin :
de disposer du même logiciel que vous,
ni de la même version.
Ils ont juste besoin d’un lecteur STL ou d’un slicer compatible.
Les limites du STL (à bien connaître)
Cette simplicité a un prix. Le STL présente plusieurs limitations importantes pour la conception et la fabrication modernes.
Approximation des surfaces courbes
Les surfaces courbes (cylindres, congés, formes organiques) sont approximées par une mosaïque de triangles.
Conséquences :
pour une forme très simple, peu de triangles suffisent ;
pour une forme organique ou un congé serré, il faut beaucoup de triangles pour approcher la courbure ;
plus vous augmentez la qualité d’export, plus le fichier devient lourd (taille en Mo, voire centaines de Mo).
À l’inverse, une mauvaise qualité d’export (tolérance trop grossière) donnera :
des courbes “facettées”,
voire des imprécisions dimensionnelles.
Absence de notion d’unité
Le STL ne stocke aucune information d’unité : les coordonnées sont des nombres sans indication (mm, pouces…).
Cela oblige :
le slicer ou le service d’impression à deviner ou à vous demander en quelle unité le fichier a été exporté ;
à être très vigilant pour éviter :
un fichier prévu en mm interprété en pouces (pièce 25,4× trop petite),
ou l’inverse.
Pas de matériau, ni couleur, ni textures
Le STL ne transporte pas d’information :
de matériau,
de couleur,
ni de texture (UV, maps, etc.).
Pour des besoins :
d’impression couleur,
de simulation,
ou de rendu visuel avancé,
d’autres formats (OBJ, VRML, 3MF, etc.) sont plus adaptés.
Pas d’historique de conception ni de contraintes
Un STL est un mesh “plat” :
pas d’esquisses,
pas de contraintes,
pas de fonctions (extrusions, congés paramétriques, etc.).
Modifier un STL revient à manipuler directement les triangles, ce qui est :
possible pour des modifications simples,
mais très peu pratique pour des modifications dimensionnelles précises.
Pour toute modification sérieuse, il est préférable de repartir de :
la CAO d’origine (STEP, modèle natif),
ou de reconstruire la pièce proprement en CAO.
Problèmes de “mesh non manifold”
Pour être imprimable, un STL doit représenter un volume fermé (“watertight”), sans :
trous,
arêtes partagées par plus de deux triangles,
auto-intersections.
Les erreurs de modélisation / export créent des maillages non manifold que les slicers ont parfois du mal à interpréter :
surfaces manquantes,
volumes pleins au lieu de creux, etc.
Il existe des outils de réparation de STL (Meshmixer, Netfabb, fonctions intégrées aux slicers) mais ils ne remplacent pas un modèle de départ bien conçu.
Comment bien exporter un fichier STL en pratique ?
Voici quelques bonnes pratiques que nous conseillons souvent à nos clients lorsqu’ils préparent leurs fichiers pour impression 3D.
Choisir une tolérance d’export adaptée
En CAO, lorsqu’on exporte un STL, on peut régler :
une tolérance de déviation (distance max entre la surface CAO et le maillage),
un angle maximal entre triangles.
En pratique :
pour la plupart des pièces techniques : une tolérance autour de 0,01–0,05 mm est suffisante ;
descendre beaucoup plus bas ne donnera pas de gain visible mais gonflera la taille des fichiers.
Vérifier la cohérence du maillage
Avant envoi :
vérifier que le volume est bien fermé ;
corriger les éventuels :
trous,
inversions de normales,
triangles parasites.
De nombreux slicers ou outils gratuits proposent déjà :
un diagnostic du maillage,
et des fonctions de “repair” automatiques.
Indiquer clairement les unités
Parce que le STL ne stocke pas les unités, il est essentiel de :
préciser au prestataire : “fichier en millimètres” (ou en pouces) ;
ou, si vous imprimez vous-même, de vous assurer que votre slicer l’interprète correctement.
Un moyen simple de contrôle : modéliser une cote de référence évidente (ex. 100 mm), et vérifier dans le slicer.
Prévoir un test quand la précision est critique
Pour des pièces :
qui doivent s’assembler,
avec des tolérances serrées,
il est recommandé :
de réaliser un petit test d’impression (échantillon de la zone critique, gabarit) ;
d’ajuster au besoin la CAO ou le jeu fonctionnel.
STL, STEP, 3MF… Quand utiliser quoi ?
Sans entrer dans tous les détails, voici un repère simple :
STL
→ pour l’impression 3D proprement dite : transfert vers un slicer, fabrication.
Format maillage, géométrie seule.STEP / IGES
→ pour les échanges CAO entre bureaux d’études, la conception, la modification de pièces techniques.
Format géométrique “intelligent” (surfaces NURBS, solides B-Rep).3MF
→ format plus moderne, pensé pour l’impression 3D :gère les unités,
peut inclure des couleurs, matériaux,
supporte plusieurs corps, métadonnées, etc.
Dans un flux professionnel, il est souvent intéressant de :
travailler et archiver en CAO native / STEP,
exporter en STL (ou 3MF) spécifiquement pour la phase d’impression.
Conclusion
Un fichier STL est donc :
une représentation triangulée de la surface d’un objet 3D ;
née dans les années 1980 pour la stéréolithographie,
devenue le langage commun entre CAO, slicers et imprimantes 3D.
Ses forces :
simplicité,
compatibilité quasi universelle,
facilité d’export depuis la plupart des logiciels.
Ses faiblesses :
approximation des courbes par des triangles,
pas d’unités, pas de matériaux, pas de couleur ni d’historique CAO,
maillages parfois “sales” (non manifold) qu’il faut réparer.
Dans une démarche professionnelle, l’idéal est de :
concevoir vos pièces en CAO paramétrique (et éventuellement travailler en STEP pour les échanges),
puis exporter un STL propre, bien réglé, spécifiquement pour l’impression 3D.