Cookies de statistiques et de publicité
Nous utilisons des cookies de statistiques et de publicité, tous deux destinés à Google. Si vous refusez, rien ne change visiblement pour vous.Aller à la page de confidentialité
Vous pouvez convertir STL en 3MF gratuitement et sans compte : déposez le fichier ci-dessus et, une ou deux secondes plus tard, le résultat est prêt à télécharger. La conversion se fait dans votre propre navigateur : le fichier n’est donc jamais téléversé. Cela marche sous Windows, macOS et Linux comme sur iPhone et Android, et continue de marcher si vous coupez le réseau.
Jusqu’à 100 fichiers à la fois. Les formats mélangés ne posent pas de problème.
Ils sont convertis les uns après les autres et reviennent ensemble dans un ZIP.
STL en 3MF
3D Systems a publié STL en 1987 pour une machine qui prenait des triangles et rien d’autre, et le format est honnête là-dessus : pas d’unités, pas de couleur, pas de matériaux, pas de noms, pas de pièces, pas de partage de sommets, pas de métadonnées. Tout ce que le monde de l’impression a ajouté ensuite — conventions d’échelle, plateaux multi-pièces, réglages par objet — vit à l’extérieur du fichier et doit être reconstruit par celui qui l’ouvre.
3MF, publié en 2015, a mis tout cela dans le fichier. Les unités sont déclarées, les objets sont séparés, la couleur et les matériaux ont leur place, et l’ensemble est un paquetage OPC avec un manifest plutôt qu’un flux brut d’octets. Convertir un STL vous apporte immédiatement l’emballage et les unités. Cela ne fait pas apparaître couleur ou pièces qui n’avaient jamais été enregistrées, et aucun convertisseur ne le peut.
STL stocke chaque triangle comme trois sommets indépendants sans indexation aucune. Un cube — douze triangles — arrive en trente-six enregistrements de sommets là où huit positions distinctes suffiraient. Ce n’est pas une bizarrerie d’un exportateur particulier ; c’est le format.
La conversion les soude : les coordonnées sont arrondies à six décimales pour former une clé, et chaque coin de triangle à la même position s’effondre en un sommet partagé. Six positions est bien en dessous de toute tolérance imprimable et bien au-dessus du désaccord de dernier bit que deux triangles adjacents ont couramment en flottant. Ce qui sort est une vraie surface indexée, ce qui explique qu’un contrôle de manifold sur le 3MF donne une réponse utile là où le même contrôle sur le STL rapporte chaque arête comme un bord.
La section resources du 3MF contiendra un seul objet et la section build un seul item. Ce n’est pas une simplification — un STL n’a vraiment aucun moyen de dire que ses triangles forment trois corps séparés, donc il n’y a rien à diviser, et inventer une division par analyse de connectivité serait une décision de modélisation plutôt qu’une conversion.
Si votre STL contient effectivement plusieurs coques déconnectées, chaque slicer a une commande Split to Parts ou Split to Objects qui les trouve par connectivité après l’import. Le faire là est la même opération avec un aperçu en plus. Si vous voulez les pièces enregistrées dans le fichier lui-même, la source doit être un format qui les avait — un OBJ avec des groupes, ou un glTF avec plusieurs meshes.
Le 3MF est écrit avec unit="millimeter" dans son élément model et les coordonnées sont passées inchangées. Strictement, le convertisseur affirme une unité que la source n’a jamais déclarée. En pratique, c’est le cas le moins dangereux de cette affirmation partout dans la matrice 3D, parce que le monde de l’impression traite les nombres STL comme des millimètres depuis trente ans et que chaque slicer les importe ainsi.
Le gain est que l’hypothèse cesse d’être une hypothèse. Un 3MF qui dit millimètre s’importe à la même taille dans PrusaSlicer, Cura, Bambu Studio et Microsoft 3D Builder sans qu’aucun n’applique une convention maison. Le seul cas à surveiller est un STL exporté depuis une CAO en pouces, qui allait déjà s’importer au 1/25e et qui le fera maintenant avec une déclaration d’unité pour l’étayer.
Chaque enregistrement de triangle dans un STL binaire se termine par un champ d’attribut de deux octets que la spécification laisse inutilisé. Deux conventions ont poussé dans ce vide — une de VisCAM et SolidView, une de Materialise Magics — encodant une couleur RGB de quinze bits par triangle. Aucune ne fait partie de STL, et aucun outil n’est d’accord sur laquelle un fichier donné utilise.
Le lecteur ici prend les douze octets de normale de face et les trente-six octets de données de sommet dans chaque enregistrement de cinquante octets et ne touche jamais aux deux derniers. Donc un STL coloré se convertit en un 3MF sans couleur, silencieusement. 3MF a un vrai modèle de couleur et pourrait porter le résultat ; deviner laquelle de deux conventions incompatibles a produit un motif de bits n’est pas une supposition qu’un convertisseur devrait faire pour vous.
Par l’arithmétique, pas par le mot de tête. Le test évident — le fichier commence-t-il par « solid » ? — est faux, parce que l’en-tête de quatre-vingts octets d’un STL binaire peut contenir n’importe quel texte et plusieurs exportateurs y mettent « solid ».
Un STL binaire fait exactement 84 + 50n octets pour le nombre de triangles écrit dans son en-tête : quatre-vingts octets d’en-tête, quatre pour le compte, puis cinquante par triangle. Rien d’autre ne tombe sur ce nombre par coïncidence. Si la longueur correspond, le fichier est lu comme binaire ; sinon le texte est scanné à la recherche de lignes de sommet. Les deux chemins aboutissent à la même forme soudée.
Le côté STL est exact et facile à vérifier : un modèle à 100 000 triangles fait 5 000 084 octets, toujours, quelle que soit la forme. Cette prévisibilité est la seule chose pour laquelle le format est vraiment bon, et c’est aussi pourquoi les fichiers STL sont tellement plus gros que la géométrie qu’ils contiennent ne le justifie — les trois quarts de ces octets sont des coordonnées répétées.
Le 3MF stocke chaque sommet soudé une fois comme élément XML et chaque triangle comme trois références entières, puis déflate le tout à l’intérieur du paquetage ZIP. Le balisage verbeux se compresse extrêmement bien, et le partage de sommets a déjà supprimé la majeure partie de la redondance avant que la compression ne commence. Le résultat dépend du modèle, et pour une géométrie imprimable typique il est confortablement plus petit que le STL dont il vient.
Trois entrées dans un ZIP : [Content_Types].xml qui déclare les types de contenu pour .model et .rels, _rels/.rels avec une relation unique pointant vers le modèle, et 3D/3dmodel.model qui contient la géométrie dans le namespace noyau 3MF. C’est cette structure qui en fait un paquetage OPC, la même convention que DOCX et XLSX utilisent.
C’est un fichier modèle plutôt qu’un fichier de projet. Il n’y a pas de réglages d’impression, pas d’affectations de filament, pas d’arrangement de plateau et pas de miniature, parce que ce sont des extensions par slicer plutôt que des parties de la géométrie. Votre slicer appliquera le profil que vous avez sélectionné et vous permettra d’enregistrer ensuite son propre 3MF plus riche.
Les trous restent des trous, les triangles inversés restent inversés, les auto-intersections restent, les parois internes restent, et les éclats de surface nulle restent. Rien ici n’inspecte la topologie au-delà de la fusion des sommets coïncidents, et un mesh qui échouait au contrôle d’un slicer en STL l’échouera en 3MF avec le même message.
Ce qui change, c’est la classe d’erreur causée par des sommets non partagés, qui est chaque STL par construction. Après le soudage, une surface qui est géométriquement fermée est aussi topologiquement fermée, donc les outils de réparation et les contrôles de manifold dans Blender, Meshmixer ou votre slicer travaillent sur le mesh que vous vouliez plutôt que sur trente-six mille triangles détachés. Cela seul raccourcit une session de réparation.
| STL | 3MF | |
|---|---|---|
| Nom complet | Stereolithography | 3D Manufacturing Format |
| Extension de fichier | .stl | .3mf |
| Type de média | model/stl | model/3mf |
| Première publication | 1987 | 2015 |
| Publié par | 3D Systems | 3MF Consortium |
| Spécification | — | 3MF Core Specification |
| Licence | Standard ouvert | Standard ouvert |
| Situation actuelle | Actuel | Actuel |
| S’ouvre dans un navigateur | Aucun navigateur | Aucun navigateur |
| Envisagé à la place | OBJ, PLY | OBJ |
PrusaSlicer et Cura lisent aussi bien STL que 3MF : vous pouvez comparer le résultat à l’original sans second logiciel.
3MF vient de 3MF Consortium et date de 2015, décrit par 3MF Core Specification. PrusaSlicer, Cura et Microsoft 3D Builder le lisent.
STL a été publié en 1987 et 3MF en 2015. Le plus ancien est en général le fichier le plus sûr à remettre ; le plus récent fait le même travail en moins d’octets.
Non. Cette conversion se fait entièrement dans votre navigateur : le fichier ne quitte donc pas votre appareil. Vous pouvez le vérifier vous-même — ouvrez l’onglet réseau des outils de développement et convertissez quelque chose. Vous verrez la page elle-même et les requêtes de statistiques et de publicité qui financent ce service, et pas une seule qui transporte votre fichier.
Oui. Pas de compte, pas de filigrane et pas de quota journalier à dépenser : cela tourne sur votre propre machine, vous pouvez donc revenir autant de fois que vous voulez. Le navigateur traite des fichiers jusqu’à 100 Mo, 100 à la fois.
STL et 3MF décrivent le contenu de façons radicalement différentes. La conversion est donc une reconstitution et non une copie : fidèle, mais pas identique octet pour octet. La géométrie seule. Les matériaux, les couleurs, les textures et l’animation ne suivent pas, et un modèle placé plusieurs fois revient avec chaque copie figée à sa propre position.
Pas pour la conversion : elle se fait dans le navigateur que vous avez déjà ouvert. Pour ouvrir le résultat, il vous faut ensuite le logiciel avec lequel votre appareil affiche habituellement 3D Manufacturing Format.