Format de fichier STL (Impression 3D) – Explication simple

Classé dans : Actualités | 0

Qu'est-ce qu'un fichier STL? À quoi ça sert? Comment ça marche? Nous expliquons simplement le format de fichier STL pour l'impression 3D en profondeur.

Voici un aperçu de leur nature et de leur fonctionnement, des avantages et des inconvénients de leur utilisation, ainsi que des formats de fichiers alternatifs à prendre en compte. Dans cet article, nous parlons du format de fichier d'impression 3D, pas de la bibliothèque de modèles standard en C.

Format de fichier STL (Impression 3D) – Explication simple

Qu'est-ce qu'un fichier STL? Que signifie l'extension de fichier .STL? Comment le format de fichier STL stocke-t-il un modèle 3D? Comment un fichier STL stocke-t-il des informations sur les facettes? Règles spéciales pour le format STL Comment un fichier STL est-il imprimé en 3D? Chaque fichier STL est-il imprimable en 3D? Optimiser un fichier STL pour optimiser les performances d'impression 3D Existe-t-il des alternatives au format de fichier STL? Avantages et inconvénients de l'utilisation du format de fichier STL par rapport à d'autres formats de fichier Couleur dans le format de fichier STL Ressources de fichier STL

1. Qu'est-ce qu'un fichier STL?

En un mot, un fichier STL stocke des informations sur les modèles 3D. Ce format décrit uniquement la géométrie de surface d'un objet tridimensionnel sans représentation de couleur, de texture ou d'autres attributs de modèle courants.

Ces fichiers sont généralement générés par un programme de conception assistée par ordinateur (CAO), en tant que produit final du processus de modélisation 3D. «.STL» est l'extension de fichier du format de fichier STL.

Le format de fichier STL est le format de fichier le plus utilisé pour l'impression 3D. Utilisé conjointement avec une trancheuse 3D, il permet à un ordinateur de communiquer avec le matériel d'une imprimante 3D.

Depuis ses modestes débuts, le format de fichier STL a été adopté et pris en charge par de nombreux autres progiciels de CAO. Il est aujourd'hui largement utilisé pour le prototypage rapide, l'impression 3D et la fabrication assistée par ordinateur. Les amateurs et les professionnels l'utilisent de la même manière.

2. Que signifie l'extension de fichier .STL?

La véritable signification de l'extension de fichier .STL a été perdue pour la nuit des temps.

On pense généralement que c'est une abréviation du mot Stéréolithographie, bien que parfois il soit aussi appelé «langage triangulaire standard» ou «langage de tessellation standard».

3. Comment le format de fichier STL stocke-t-il un modèle 3D?

L'objectif principal du format de fichier STL est d'encoder la géométrie de surface d'un objet 3D. Il code cette information en utilisant un concept simple appelé "tessellation".

3.1 Pavage

La tessellation est le processus de mosaïque d'une surface avec une ou plusieurs formes géométriques telles qu'il n'y ait pas de chevauchement ni de vide. Si vous avez déjà vu un sol ou un mur carrelé, c’est un bon exemple réel de tessellation.

The tiled wall and floor are simple real life examples of tessellation

La tessellation peut impliquer des formes géométriques simples ou des formes très complexes (et imaginatives). Voici quelques exemples de mosaïques artistiques dues au célèbre peintre MC Escher. En fait, si vous voulez voir plus d'exemples de mosaïques étonnantes, nous vous recommandons de regarder ses peintures.

Two tessellation paintings by M. C. Escher

3.2 L'invention du format de fichier STL: exploiter la tessellation pour encoder la géométrie de surface

En 1987, Chuck Hull venait d'inventer la première imprimante 3D stéréolithographique, et l'Albert Consulting Group pour 3D Systems tentait de trouver un moyen de transférer des informations sur les modèles de CAO 3D vers l'imprimante 3D. Ils ont compris qu'ils pouvaient utiliser des mosaïques de la surface du modèle 3D pour encoder ces informations!

STL File Format

L'idée de base était de paver la surface extérieure bidimensionnelle des modèles 3D à l'aide de minuscules triangles (également appelés «facettes») et de stocker des informations sur les facettes d'un fichier.

Regardons quelques exemples pour comprendre comment cela fonctionne. Par exemple, si vous avez un simple cube 3D, celui-ci peut être recouvert de 12 triangles, comme indiqué dans l'image ci-dessous. Comme vous pouvez le constater, il y a deux triangles par face. Comme le cube a six faces, il ajoute 12 triangles.

Si vous avez un modèle 3D d'une sphère, celle-ci peut être recouverte de nombreux petits triangles, également représentés dans la même image.

Tessellations of a cube and a sphere

Voici un autre exemple de forme 3D très compliquée qui a été pavée de triangles.

Tessellation of a 3D pig (source : i.materialize)

Albert Consulting Group pour 3D Systems s'est rendu compte que s'il pouvait stocker les informations sur ces minuscules triangles dans un fichier, ce fichier pourrait alors décrire complètement la surface d'un modèle 3D arbitraire. C’est l’idée de base du format de fichier STL!

4. Comment un fichier STL stocke-t-il des informations sur les facettes?

Le format de fichier STL fournit deux manières différentes de stocker des informations sur les facettes triangulaires qui recouvrent la surface de l'objet en mosaïque. Celles-ci s'appellent le codage ASCII et le codage binaire. Dans les deux formats, les informations suivantes de chaque triangle sont stockées:

Les coordonnées des sommets. Les composantes de l’unité vecteur normal au triangle. Le vecteur normal doit pointer vers l'extérieur par rapport au modèle 3D.
An STL file stores the co-ordinates of the vertices and the components of the unit normal vector to the facets

4.1 Le format de fichier ASCII STL

Le fichier STL ASCII commence par la ligne obligatoire suivante:

solide

où est le nom du modèle 3D. Le nom peut être laissé en blanc, mais il doit y avoir un espace après le mot solide dans ce cas.

Le fichier continue avec des informations sur les triangles de couverture. Les informations sur les sommets et le vecteur normal sont représentées comme suit:

facette normal nx ny nz sommet extérieur v1x v1y v1z sommet v2x v2y v2z sommet v3x v3y v3z endloop endfacet

Ici, n est la normale au triangle et v1, v2 et v3 sont les sommets du triangle. Les valeurs de coordonnées sont représentées par un nombre à virgule flottante au format signe-mantissa-e-signe-exposant, par exemple, «3.245000e-002».

Le fichier se termine par la ligne obligatoire:

fin solide

4.2 Le format de fichier STL binaire

Si le pavage comprend de nombreux petits triangles, le fichier STL ASCII peut devenir énorme. C'est pourquoi une version binaire plus compacte existe.

Le fichier STL binaire commence par un en-tête de 80 caractères. Ceci est généralement ignoré par la plupart des lecteurs de fichiers STL, à quelques exceptions notables dont nous parlerons plus tard. Après l'en-tête, le nombre total de triangles est indiqué à l'aide d'un entier non signé de 4 octets.

UINT8 [80] – En-tête UINT32 – Nombre de triangles

Les informations sur les triangles suivent par la suite. Le fichier se termine simplement après le dernier triangle.

Chaque triangle est représenté par douze nombres à virgule flottante de 32 bits. Comme pour le fichier ASCII STL, 3 chiffres correspondent aux coordonnées cartésiennes 3D de la normale au triangle. Les 9 chiffres restants correspondent aux coordonnées des sommets (trois chacun). Voici à quoi cela ressemble:

foreach triangle REAL32 [3] – Vecteur normal REAL32 [3] – Sommet 1 REAL32 [3] – Sommet 2 REAL32 [3] – Sommet 3 UINT16 – Fin du compte d'octets d'attribut

Notez qu'après chaque triangle, il y a une séquence de 2 octets appelée le «nombre d'octets d'attribut». Dans la plupart des cas, il est mis à zéro et constitue un espaceur entre deux triangles. Mais certains logiciels utilisent également ces 2 octets pour coder des informations supplémentaires sur le triangle. Nous verrons un exemple de ce type plus tard, où ces octets seront utilisés pour stocker des informations de couleur.

5. Règles spéciales pour le format STL

La spécification STL a des règles spéciales pour la tessellation et le stockage des informations.

5.1 La règle du sommet

La règle de sommet stipule que chaque triangle doit partager deux sommets avec ses triangles voisins.

Cette règle doit être respectée lors de la mosaïque de la surface de l'objet 3D.

Voici un exemple de tessellation valide et invalide, selon cette règle. La figure de gauche enfreint cette règle et constitue une tessellation non valide, tandis que la figure de droite est conforme et une tessellation valide.

Vertex rule for STL files: The figure on the left is an invalid tessellation, while the figure on the right is acceptable.

5.2 La règle d'orientation

La règle d’orientation indique que l’orientation de la facette (c’est-à-dire quelle voie correspond à «dans» l’objet 3D et quelle voie est «à l’extérieur») doit être spécifiée de deux manières.

Premièrement, la direction de la normale doit être dirigée vers l'extérieur. Deuxièmement, les sommets sont répertoriés dans le sens inverse des aiguilles d'une montre lorsque vous regardez l'objet de l'extérieur (règle de la main droite).

The orientation of each facet is specified in two ways: by the direction of the normal vector and by the ordering of the vertices

Cette redondance existe pour une raison. Cela contribue à assurer la cohérence des données et à détecter les données corrompues. Un logiciel peut, par exemple, calculer l’orientation à partir de la normale et ensuite des sommets et vérifier si elles correspondent. Si ce n'est pas le cas, il peut alors déclarer le fichier STL corrompu!

5.3 La règle de tous les octants positifs

La règle de l'octant tout positif dit que les coordonnées des sommets du triangle doivent toutes être positives.

Cela implique que l'objet 3D habite dans l'octant tout positif du système de coordonnées cartésien 3D (et donc son nom).

La raison d'être de cette règle est de gagner de la place. Si l'objet 3D était autorisé à vivre n'importe où dans l'espace de coordonnées, nous aurions à traiter avec des coordonnées négatives. Pour stocker les coordonnées négatives, il faut utiliser des nombres à virgule flottante signés. Les nombres en virgule flottante signés nécessitent un bit supplémentaire pour stocker le signe (/ -). En veillant à ce que toutes les coordonnées soient positives, cette règle garantit que nous sommes en mesure d'utiliser des nombres non signés pour les coordonnées et d'enregistrer un bit pour chaque valeur de coordonnées que nous stockons.

Octant I (red) is the all positive octant

5.4 La règle de tri des triangles

La règle de tri des triangles recommande que les triangles apparaissent dans l'ordre croissant des valeurs z.

Cela aide Slicers à découper les modèles 3D plus rapidement. Cependant, cette règle n'est pas strictement appliquée.

6. Comment un fichier STL 3D est-il imprimé?

cura slicer software

Pour l'impression 3D, le fichier STL doit être ouvert dans un segment dédié. Qu'est-ce qu'un slicer? C'est un logiciel d'impression 3D qui convertit les modèles 3D numériques en instructions d'impression permettant à votre imprimante 3D de créer un objet.

La trancheuse découpe votre fichier STL en centaines (parfois des milliers) de couches horizontales plates en fonction des paramètres que vous choisissez et calcule la quantité de matériau que votre imprimante devra extruder et le temps nécessaire à sa réalisation.

Toutes ces informations sont ensuite regroupées dans un fichier GCode, le langage natif de votre imprimante 3D. Les paramètres de découpage ont une incidence sur la qualité de votre impression. Il est donc important de disposer du logiciel et des paramètres appropriés pour obtenir la meilleure qualité d'impression possible.

Une fois le GCode chargé sur votre imprimante 3D, l'étape suivante consiste à réassembler ces calques bidimensionnels distincts en tant qu'objet tridimensionnel sur votre surface d'impression. Cela se fait en déposant une succession de couches minces de plastiques, de métaux ou de matériaux composites et en construisant le modèle, une couche à la fois.

Plus d'informations: Paramètres de slicer 3D pour les débutants – 8 choses à savoir

7. Chaque fichier STL est-il imprimable en 3D?

Malheureusement non. Seule une conception 3D spécialement conçue pour l'impression 3D peut être imprimée en 3D. Le fichier STL est simplement le conteneur pour les données, pas une garantie que quelque chose est imprimable.

Les modèles 3D adaptés à l'impression 3D doivent avoir une épaisseur de paroi minimale et une géométrie de surface «étanche» pour pouvoir être imprimés en 3D. Même s’il est visible sur un écran d’ordinateur, il est impossible d’imprimer des documents dont l’épaisseur de paroi est égale à zéro.

Il y a aussi la prise en compte d'éléments en porte-à-faux sur le modèle. Regardez le logo ALL3DP dans l'image ci-dessus; Si le modèle est imprimé verticalement, les éléments en surplomb ayant un angle supérieur à 45 degrés nécessiteront des supports (que vous pouvez voir en vert).

Lorsque vous téléchargez un fichier STL que vous n'avez pas créé vous-même, prenez le temps de vérifier qu'il est bien imprimable en 3D. Cela vous fera économiser beaucoup de temps et de frustration (et de filament gaspillé).

Pour en savoir plus: Didacticiel MeshMixer pour les débutants en impression 3D et 9 concepts importants pour l’impression 3D que tout le monde devrait connaître

8. Optimiser un fichier STL pour optimiser les performances d'impression 3D

Le format de fichier STL se rapproche de la surface d’un modèle de CAO avec des triangles. L'approximation n'est jamais parfaite et les facettes introduisent de la grosseur dans le modèle.

The perfect spherical surface on the left is approximated by tessellations. The figure on the right uses big triangles, resulting in a coarse model. The figure on the center uses smaller triangles and achieves a smoother approximation (source: i.materialize)

L'imprimante 3D imprimera l'objet avec la même grosseur que celle spécifiée par le fichier STL. Bien sûr, en rendant les triangles de plus en plus petits, l'approximation peut être améliorée, ce qui permet d'obtenir des impressions de bonne qualité. Toutefois, à mesure que vous réduisez la taille du triangle, le nombre de triangles nécessaires pour couvrir la surface augmente également. Cela conduit à un fichier STL gigantesque que les imprimantes 3D ne peuvent pas gérer. C'est également pénible de partager ou de télécharger des fichiers aussi volumineux.

Il est donc très important de trouver le juste équilibre entre la taille du fichier et la qualité d’impression. Il n’est pas logique de réduire la taille des triangles à l’infini, car à un moment donné, votre œil ne sera pas en mesure de faire la distinction entre les qualités d’impression.

La plupart des logiciels de CAO offrent quelques paramètres lors de l'exportation de fichiers STL. Ces paramètres contrôlent la taille des facettes, et donc la qualité d'impression et la taille du fichier. Explorons les paramètres les plus importants et déterminons leurs valeurs optimales.

8.1 Hauteur de corde ou tolérance

La plupart des logiciels de CAO vous laisseront choisir un paramètre appelé hauteur d'accord ou tolérance. La hauteur de corde est la distance maximale entre la surface de la conception d'origine et le maillage STL. Si vous choisissez la bonne tolérance, vos impressions seront lisses et non pixelisées. Il est évident que plus la hauteur de la corde est petite, plus les facettes représentent avec précision la surface réelle du modèle.

The chord height is the height between the STL mesh and the actual surface (source : www.3dhubs.com)

Il est recommandé de régler la tolérance entre 0,01 millimètre et 0,001 millimètre. Cela donne généralement des impressions de bonne qualité. Inutile de réduire davantage ce facteur, car les imprimantes 3D ne peuvent pas imprimer avec ce niveau de détail.

8.2 Déviation angulaire ou tolérance angulaire

La tolérance angulaire limite l'angle entre les normales des triangles adjacents. L'angle par défaut est généralement défini à 15 degrés. La diminution de la tolérance (pouvant aller de 0 à 1) améliore la résolution d'impression.

Angular tolerance is the angle between the normals of adjacent triangles (source : www.3dhubs.com)

Le paramètre recommandé pour ce paramètre est 0.

8.3 Binaire ou ASCII?

Enfin, vous avez le choix d’exporter le fichier STL au format binaire ou ASCII. Le format binaire est toujours recommandé pour l'impression 3D car il en résulte une taille de fichier inférieure. Toutefois, si vous souhaitez inspecter manuellement le fichier STL pour le débogage, le format ASCII est préférable car il est plus facile à lire.

9. Existe-t-il des alternatives au format de fichier STL?

3MF mesh

Le format de fichier STL n'est pas le seul format utilisé en impression 3D. Il existe plus de 30 formats de fichiers pour l'impression 3D. Le plus important est le format de fichier OBJ, qui permet de stocker des profils de couleur et de texture. Une autre option est le format de fichier Polygon (PLY), qui était utilisé à l'origine pour stocker des objets numérisés en 3D.

Plus récemment, le consortium 3MF a tenté de lancer un nouveau type de fichier, qui propose un nouveau format de fichier d'impression 3D appelé 3MF. Ils affirment que cela rationalisera et améliorera le processus d'impression 3D.

Pour l'implémenter, Microsoft a associé des sociétés telles qu'Autodesk, HP et Shapeways afin de concrétiser leur vision. Vous trouverez plus de détails sur le consortium 3MF sur son site Web, ainsi qu'une documentation préliminaire sur le type de fichier 3MF sur sa page GitHub. Il est beaucoup trop tôt pour dire si cela sera adopté par beaucoup.

10. Avantages et inconvénients de l’utilisation du format de fichier STL par rapport aux autres formats de fichier

Comme il existe de nombreux formats de fichier d'impression 3D, la question évidente est: lequel choisir pour vos impressions? La réponse dépend en grande partie de votre cas d'utilisation.

10.1 Quand ne pas utiliser un fichier STL

Comme nous l'avons vu précédemment, le format de fichier STL ne peut pas stocker d'informations supplémentaires telles que la couleur, le matériau, etc. des facettes ou des triangles. Il ne stocke que des informations sur les sommets et le vecteur normal. Cela signifie que si vous souhaitez utiliser plusieurs couleurs ou plusieurs matériaux pour vos impressions, le format de fichier STL n'est pas le bon choix. Le format OBJ est un format populaire bénéficiant d’un bon support, qui permet de spécifier la couleur, le matériau, etc. C'est donc le bon choix pour cette tâche.

10.2 Quand utiliser un fichier STL

Par ailleurs, si vous souhaitez imprimer avec une seule couleur ou un seul matériau, ce qui est le cas le plus fréquent, STL est préférable à OBJ, car elle est plus simple, ce qui entraîne une réduction de la taille des fichiers et un traitement plus rapide.

10.3 Autres avantages du format de fichier STL

Universel: Un autre gros avantage du format de fichier STL est qu'il est universel et pris en charge par presque toutes les imprimantes 3D. On ne peut pas en dire autant du format OBJ, même s'il bénéficie d'une adoption et d'un soutien raisonnables. Les formats VRML, AMF et 3MF ne sont pas largement pris en charge à ce stade.

Écosystème mature: La plupart des modèles imprimables en 3D que vous pouvez trouver sur Internet sont au format de fichier STL. L'existence de cet écosystème, combinée aux investissements logiciels basés sur STL réalisés par les fabricants d'imprimantes 3D, a donné naissance à une base d'utilisateurs importante qui est fortement investie dans le format. Cela signifie qu'il existe de nombreux logiciels tiers traitant des fichiers STL, ce qui n'est pas le cas des autres formats de fichiers.

10.4 Quelques inconvénients du format de fichier STL

L'utilisation de STL présente également des inconvénients criants. Étant donné que la fidélité des processus d'impression correspond à une résolution au niveau du micron, le nombre de triangles requis pour décrire les surfaces courbes nues peut donner lieu à des tailles de fichier énormes. Il est également impossible d'inclure des métadonnées (telles que les droits d'auteur et les droits d'auteur) dans un fichier STL.

10.5 Verdict

Si vos besoins en impression 3D sont simples, il n’ya peut-être aucune raison de s’éloigner du format de fichier STL. Cependant, pour des impressions plus avancées utilisant plusieurs matériaux et couleurs, il est peut-être préférable d'essayer OBJ ou d'autres formats disponibles.

11. Couleur au format de fichier STL

3d selfies

Dans la dernière section, nous avons dit que le format de fichier STL ne pouvait pas gérer les modèles multicolores. La raison pour laquelle le format de fichier STL manque d'informations sur les couleurs est simple. Lorsque le prototypage rapide a évolué dans les années 1980, personne n’avait pensé à l’impression couleur. De nos jours, les matériaux et les procédés d’impression 3D ont évolué rapidement. Certains vous permettent d’imprimer en couleur – pensez aux selfies 3D en grès, illustrés ci-dessus.

Cependant, il n'est pas tout à fait juste de dire que STL ne peut pas gérer les couleurs. Il se trouve qu'il existe des versions non standard du format STL qui sont effectivement capables de transporter des informations de couleur.

Par exemple, les progiciels VisCAM et Solidview utilisent le «nombre d'octets d'attributs» à la fin de chaque triangle pour stocker une couleur RVB 15 bits à l'aide du système suivant:

les bits 0 à 4 pour le bleu (0 à 31), les bits 5 à 9 pour le vert (0 à 31), les bits 10 à 14 pour le rouge (0 à 31), le bit 15 est 1 si la couleur est valide ou 0 si le la couleur n'est pas valide (comme avec les fichiers STL normaux).

Le logiciel Materialize Magics, quant à lui, utilise l'en-tête de 80 octets au format binaire pour représenter la couleur générale de l'objet 3D. La couleur est spécifiée en incluant la chaîne ASCII «COLOR =» suivie de quatre octets représentant les canaux rouge, vert, bleu et alpha (transparence) dans la plage 0–255. Cette couleur de base peut également être remplacée sur chaque facette à l’aide des octets «nombre d’octets d’attributs».

12. Ressources de fichier STL

Si vous avez lu jusqu'à présent, félicitations! Vous connaissez maintenant un peu plus en STL et vous pouvez sans aucun doute être appelé un expert en format de fichier STL.

Dans cette dernière section, nous allons partager quelques logiciels et ressources impressionnants que vous pouvez utiliser pour télécharger, visualiser, éditer et réparer des fichiers STL.

12.1 Téléchargement de fichiers STL

STL File Format

Il existe de nombreux référentiels, marchés et moteurs de recherche sur le Web contenant littéralement des millions de fichiers STL gratuits. Vous pouvez vous référer à notre liste régulièrement mise à jour – 33 Meilleurs sites pour les fichiers STL gratuits

12.2 Ouvrir et visualiser un fichier STL

STL File Format

Heureusement, l’ouverture d’un fichier STL n’est pas trop compliquée. Il existe à cet effet plusieurs visualiseurs de fichiers STL gratuits que vous pouvez utiliser en ligne ou en tant qu'application de bureau. Consultez notre guide dédié ici: 20 meilleurs outils de Visualiseur de fichiers STL gratuits en 2019

12.3 Éditer et convertir un fichier STL

STL File Format

Oui, il est tout à fait possible de modifier un fichier STL et de le convertir en un autre format de fichier. Le format étant ouvert, rien ne vous empêche de modifier le contenu d'un fichier. En fait, le processus d'édition est assez facile. Nous avons un article consacré à ce sujet: 7 Editeurs STL gratuits Comment éditer et réparer les fichiers STL

12.4 Réparation d'un fichier STL

STL File Format

Rappelez-vous la section où nous avons discuté des règles que les fichiers STL doivent respecter? Par exemple, les triangles adjacents doivent partager deux sommets et la règle de la main droite appliquée sur les sommets doit avoir la même orientation que le vecteur normal. Si ces conditions ne sont pas respectées dans un fichier STL, il est alors endommagé ou corrompu.

Plusieurs programmes peuvent vous aider à réparer un fichier STL cassé. Par exemple, Netfabb Basic est un excellent outil pour réparer les problèmes de fichiers STL les plus courants. Vous trouverez plus d'informations sur ces programmes dans notre article: 27 meilleurs outils logiciels d'impression 3D en 2019 (Tous sont gratuits)

13. Conclusion

En conclusion, nous avons appris comment le format de fichier STL code la mise en page des modèles 3D. Nous avons discuté de la manière d'optimiser les fichiers STL pour une qualité d'impression 3D optimale. Nous avons discuté de la comparaison entre le format de fichier STL et les autres formats de fichiers d'impression 3D populaires .OBJ et du moment d'utilisation de chacun de ces formats. Enfin, nous avons partagé certaines ressources grâce auxquelles vous pouvez télécharger, afficher, éditer et réparer des fichiers STL.

Nous espérons qu'une compréhension approfondie du format de fichier STL vous aidera à devenir un utilisateur plus averti de votre imprimante 3D. Si vous avez trouvé cet article utile, partagez-le avec d'autres passionnés d'impression 3D et passez le mot. Avez-vous des questions ou des remarques? Faites-nous savoir dans les commentaires ci-dessous!

Le format de fichier STL post (impression 3D) â