Réduire la taille d'un fichier STL sans perdre de détails
Ce tutoriel a été rédigé avec l'aide de l'IA.
Un STL binaire prend exactement 50 octets par triangle. Un million de triangles font donc environ 50 Mo, quoi que tu fasses. Il y a deux leviers : si le fichier est un STL ASCII, l'enregistrer en STL binaire le rend environ cinq à six fois plus léger sans aucune perte de forme. Ensuite, il ne reste qu'à réduire les triangles : sur les scans et les sculptures, tu peux en général en retirer 60 à 75 % sans que ça se voie en impression FDM. Ton slicer ou Blender le font en quelques clics.
Ton STL est prêt ? Transforme-le en moule, gratuitement dans le navigateur.
Voir les outils gratuits →Pourquoi les fichiers STL deviennent si lourds
Un STL n'est rien d'autre qu'une liste de triangles. Pas de couleurs, pas d'unités, pas de courbes : chaque arrondi est fait de beaucoup de petits triangles plats. Quatre choses font grossir la taille :
- Les scans 3D (photogrammétrie, lumière structurée, scanner de téléphone) relèvent la surface à la résolution du capteur. Ça donne des millions de triangles, dont la plupart décrivent des zones plates qui se contenteraient d'une poignée.
- Les sculptures numériques de ZBrush, Blender ou Nomad sont exportées à la résolution du modelage, bien plus fine que ce qu'une buse sait imprimer.
- L'export ASCII : certains logiciels écrivent le STL en texte lisible. Chaque coordonnée est alors une chaîne de caractères dans le fichier, ce qui prend plusieurs fois plus de place.
- Des réglages d'export trop fins dans le logiciel de CAO : un perçage ou un arrondi exporté avec des centaines de segments là où deux douzaines suffiraient.
Les conséquences, tu les connais sans doute : le slicer rame ou plante au-delà de 100 Mo, les services d'impression et les plateformes de modèles ont des limites d'envoi, et l'envoi par e-mail ne passe pas non plus (Gmail, par exemple, n'accepte que 25 Mo de pièce jointe par message).
Comment calculer la taille du fichier
Un STL binaire a une structure simple : 80 octets d'en-tête, 4 octets pour le nombre de triangles, puis 50 octets par triangle (un vecteur normal, trois sommets de trois coordonnées chacun et deux octets de réserve). D'où :
| Triangles | STL binaire | Typique pour |
|---|---|---|
| 10 000 | env. 0,5 Mo | Pièce de CAO simple, support, boîte |
| 100 000 | env. 5 Mo | Pièce fonctionnelle détaillée, figurine simple |
| 1 000 000 | env. 50 Mo | Figurine haute résolution, scan grossier |
| 2 000 000 | env. 100 Mo | Sculpture numérique, bon scan |
| 10 000 000 | env. 500 Mo | Données brutes de photogrammétrie |
L'enseignement principal : pour un STL binaire, la taille dépend uniquement du nombre de triangles. Pour faire passer un STL de 200 Mo à 50 Mo, il faut se débarrasser des trois quarts des triangles. Aucune astuce ne rend un STL binaire plus léger à nombre de triangles égal.
À vérifier d'abord : ASCII ou binaire ?
C'est le seul gain gratuit, c'est pour ça qu'il vient en premier. Un STL ASCII décrit chaque triangle en sept lignes de texte (facet normal, outer loop, trois fois vertex et ainsi de suite). Ça fait vite 250 octets et plus au lieu de 50, donc environ cinq à six fois plus pour exactement la même forme.
Comment le reconnaître : ouvre le fichier dans un éditeur de texte. Si tu vois des lignes lisibles comme facet normal 0 0 1, c'est de l'ASCII. Si tu vois du charabia, il est binaire. Ou calcule : si le fichier est nettement plus gros que le nombre de triangles fois 50 octets (n'importe quel slicer affiche ce nombre), il est en ASCII.
Comment le convertir : dans la boîte d'export de ton logiciel de CAO, choisis « binaire » au lieu de « texte » ou « ASCII », et dans Blender décoche « ASCII » à l'export STL. Sinon, ouvre le fichier dans un slicer et exporte-le de là en STL, les slicers courants écrivent en binaire.
Et zipper ? Pour l'envoi par e-mail ou dans le cloud, une archive ZIP aide, surtout pour les fichiers ASCII. Dans le slicer, ça ne change rien, il décompresse la taille complète.
Alléger un STL en 5 étapes
Vérifier le format
Ouvre le fichier dans un éditeur de texte ou compare sa taille au nombre de triangles fois 50 octets. S'il est en ASCII, réenregistre-le d'abord en binaire. C'est peut-être déjà suffisant.
Choisir l'outil
Si le fichier s'ouvre encore dans ton slicer, c'est le plus rapide. S'il plante au chargement, passe par Blender sur un ordinateur avec beaucoup de mémoire. Les deux sont détaillés plus bas.
Réduire les triangles
Commence par un objectif d'après la source du modèle (voir le tableau Jusqu'où réduire ?). Les simplificateurs retirent d'abord les triangles des zones plates, les détails tiennent donc bien plus longtemps qu'on ne le pense.
Comparer avant et après
Regarde la silhouette et le détail le plus fin qui compte pour toi, comme du texte, un visage ou des arêtes. Si quelque chose s'est adouci, réduis moins fort. Garde l'original à côté pour comparer sous le même angle.
Exporter et utiliser
Exporte le résultat en STL binaire ou en 3MF et ouvre-le dans le slicer ou dans le générateur Meshcast dont tu as besoin. Garde aussi l'original : une simplification ne se défait pas.
Réduire les triangles avec le slicer, Blender et Meshmixer
Pas besoin d'outil spécial, ces logiciels savent le faire :
| Logiciel | Où | Bon à savoir |
|---|---|---|
| PrusaSlicer (depuis la 2.4) | Clic droit sur le modèle, « Simplifier le modèle » (Simplify model) | Pratique tant que le fichier s'ouvre encore. N'aide pas si le slicer plante déjà au chargement |
| Bambu Studio, OrcaSlicer | Clic droit sur le modèle, « Simplify Model » | Même principe que PrusaSlicer |
| Blender | Modificateur « Decimate » (« Décimer » en français), valeur « Ratio » | Un Ratio de 0,25 garde un quart des triangles. Très puissant, mais beaucoup d'interface pour un travail rapide |
| Meshmixer | Tout sélectionner (Ctrl+A), puis Edit, Reduce | Gratuit, mais Autodesk ne le développe plus |
Avec des fichiers que même le slicer n'ouvre plus (on lit régulièrement sur les forums des cas de 600 Mo et plus), un ordinateur portable modeste est vite dépassé, quel que soit le logiciel. Blender sur une machine avec beaucoup de mémoire est alors le meilleur premier pas. Ou tu remontes à la source et tu réexportes.
Jusqu'où peut-on réduire ?
Règle simple : une imprimante FDM avec une buse de 0,4 mm ne peut pas reproduire de détails de surface plus petits qu'environ 0,4 mm. Les triangles plus petits sont du poids mort. Les imprimantes résine résolvent nettement plus fin, là tu réduis plus prudemment et tu prends plutôt le bas de la fourchette.
| Source | Nombre de triangles typique | À retirer sans risque | Part à garder (Ratio) |
|---|---|---|---|
| Scan 3D (photogrammétrie) | 1 à 10 millions | 70 à 90 % | 10 à 30 % |
| Sculpture numérique | 0,5 à 5 millions | 60 à 75 % | 25 à 40 % |
| Figurine téléchargée | 0,2 à 1 million | 30 à 50 % | 50 à 70 % |
| Export de CAO (arêtes vives) | 10 000 à 200 000 | 0 à 20 %, déjà efficace | 80 à 100 % |
La meilleure solution : exporter léger dès le départ
Si tu as conçu le modèle toi-même, le plus propre est de ne pas l'exporter trop lourd au départ. Un logiciel de CAO convertit les courbes en triangles à l'export STL, et c'est toi qui choisis la finesse :
- Fusion 360 : à l'export en maillage, mets le raffinement sur « Moyen » au lieu de « Élevé ». Pour la plupart des impressions, ça suffit.
- Autres logiciels de CAO (Onshape, FreeCAD, SolidWorks) : cherche des réglages comme la tolérance de corde, la déviation ou la tolérance angulaire. Une déviation de 0,01 à 0,05 mm est largement suffisante en FDM.
- Exporter directement en 3MF, si ton slicer le lit, économise en plus de la place sans perte.
- Découper les grands modèles : un véhicule ou une figurine qui s'imprime de toute façon en plusieurs parties, exporte-les directement en fichiers séparés.
Tu obtiens ainsi des perçages ronds aux segments bien répartis au lieu d'une version allégée après coup.
Réparer en même temps
Les gros fichiers sont souvent aussi des fichiers cassés, surtout les scans. Les défauts typiques : des arêtes non manifold (des arêtes partagées par trois triangles ou plus, que les slicers refusent ou découpent mal), des trous, des normales inversées et des triangles dégénérés sans surface. Le module 3D Print Toolbox de Blender les liste, et Select All by Trait › Non Manifold les met en évidence.
Ça compte double si le STL doit devenir un moule en silicone ou un autre moule : les opérations booléennes qui créent un moule à partir de ton modèle ont besoin d'un maillage fermé. Les générateurs de moules Meshcast proposent une réparation au chargement quand le maillage a des trous. Plus de détails dans créer un moule à partir d'un STL, et si tes impressions échouent de façon bizarre, le dépannage des moules (en anglais) aide aussi.
Ou tu parles des dimensions ? Imprimer le modèle plus petit
« Réduire un STL », pour beaucoup, veut dire tout autre chose : imprimer le modèle physiquement plus petit, par exemple une figurine pour une échelle plus petite. Ça n'a rien à voir avec la taille du fichier et ça se fait dans n'importe quel slicer avec la mise à l'échelle, par exemple à 50 %. Le fichier garde la même taille.
À surveiller : tout rétrécit avec. Une paroi de 1,2 mm ne fait plus que 0,6 mm à 50 % et s'imprime à peine proprement avec une buse de 0,4 mm. Trous, emboîtements et filetages ne s'ajustent plus. Pour des modèles très réduits, une buse plus fine ou une imprimante résine aide, pour les pièces fonctionnelles un nouvel export depuis la CAO avec des cotes adaptées.
Problèmes fréquents à la simplification
Le modèle simplifié a l'air faux
Cause Trop réduit, ou un modèle simplifié alors qu'il était déjà à sa limite. Les pièces techniques anguleuses perdent leurs arêtes bien plus tôt que les formes organiques.
Solution Réduis moins fort et compare l'original et le résultat sous le même angle avant d'exporter. Arrête-toi là où la silhouette ne change pas, c'est ce qui compte à l'impression.
Règle simple Sur les scans et les sculptures, 60 à 75 % de triangles en moins sont en général invisibles, car une buse FDM ne reproduit de toute façon rien sous environ 0,4 mm.
J'ai fusionné les points, mais le STL n'est pas plus léger
Cause Ce n'est pas une erreur. Un STL binaire enregistre chaque triangle avec trois sommets complets, peu importe combien de fois le même point revient. 50 octets par triangle, toujours.
Solution La fusion (soudure) reste utile : c'est grâce à elle qu'un simplificateur sait quels triangles sont voisins et peut regrouper des arêtes. Elle n'économise directement de la place que dans les formats qui enregistrent chaque point une seule fois, donc le 3MF et l'OBJ.
Après simplification, le modèle est cassé
Cause Simplifier regroupe des arêtes. À côté d'un trou fraîchement rebouché, un coin non manifold peut réapparaître.
Solution Réduire moins fort, ou repasser le fichier allégé dans un outil de réparation. Si le modèle doit ensuite passer par des opérations booléennes (dans un générateur de moules, par exemple), réduire plutôt de façon conservatrice.
Le logiciel plante à l'ouverture
Cause Tout se passe dans la mémoire de ton appareil. Un fichier de 100 Mo avec deux millions de triangles demande plusieurs fois cette quantité de RAM pour être traité.
Solution Ferme les autres programmes, travaille sur un ordinateur plutôt qu'une tablette, enregistre d'abord un fichier ASCII en binaire, ou décime d'abord grossièrement le modèle dans Blender.
Questions fréquentes
Comment réduire la taille d'un fichier STL ?
De deux façons : si le fichier est un STL ASCII, enregistre-le en binaire, il devient environ cinq à six fois plus léger sans aucun changement de forme. Ensuite, il ne reste qu'à réduire le nombre de triangles (simplifier, décimer). Un STL binaire prend exactement 50 octets par triangle, la taille du fichier dépend donc directement du nombre de triangles.
Combien de triangles peut-on supprimer sans que ça se voie à l'impression ?
Pour les scans et les sculptures numériques, 60 à 75 % passent en général inaperçus, pour les scans souvent même 70 à 90 %, car une buse de 0,4 mm ne peut de toute façon pas imprimer de détails plus fins. Les pièces de CAO à arêtes vives sont déjà économes, retire-leur au plus 0 à 20 %. Pour les impressions résine, réduis plus prudemment, car elles résolvent nettement plus fin.
Le modèle simplifié a l'air faux. Que faire ?
Tu as trop réduit, ou simplifié un modèle qui était déjà à sa limite. Les pièces techniques anguleuses perdent leurs arêtes bien plus tôt que les formes organiques. Réduis moins fort et compare l'original et le résultat avant d'exporter. Ce qui compte, c'est que la silhouette reste inchangée.
Le fichier devient-il plus léger si je fusionne seulement les points en double ?
Pas pour un STL binaire. Le format enregistre chaque triangle avec ses trois sommets complets, peu importe combien de fois un point revient, donc toujours 50 octets par triangle. La fusion reste nécessaire pour qu'un simplificateur puisse regrouper des arêtes. Les formats comme le 3MF et l'OBJ enregistrent chaque point une seule fois, là ça économise directement de la place.
Après simplification, le modèle est cassé. Pourquoi ?
Simplifier regroupe des arêtes, et près d'un trou rebouché, un endroit non manifold peut réapparaître. Réduis moins fort, ou repasse le fichier allégé dans un outil de réparation. Si le modèle doit ensuite passer par des opérations booléennes, par exemple dans un générateur de moules, réduis plutôt de façon conservatrice.
Je veux imprimer le modèle plus petit, pas alléger le fichier. Comment faire ?
Pour ça, mets le modèle à l'échelle dans le slicer, par exemple à 50 %. La taille du fichier ne change pas. Attention, les épaisseurs de paroi, les trous et les filetages rétrécissent aussi : une paroi de 1,2 mm ne fait plus que 0,6 mm à 50 %.
Fait par meshcast.app. Les noms de menus des logiciels tiers peuvent changer avec les nouvelles versions. Tu bloques quelque part ? Envoie-nous une capture, on t'aide volontiers.