Convertir OBJ en STL

Vous pouvez convertir OBJ en STL 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.

  • Où cela s’exécute Dans votre navigateur. Le fichier n’est pas téléversé.
  • Reconstruit STL ne fonctionne pas comme OBJ. Il ne s’agit donc pas de la dégradation progressive d’un codec avec perte : ce que STL sait exprimer est reproduit fidèlement, et ce qui n’y a pas d’équivalent ne subsiste pas du tout.
  • Limite de taille Jusqu’à 100 Mo par fichier, gratuitement et sans compte.
  • Bon à savoir 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.

Jusqu’à 100 fichiers à la fois. Les formats mélangés ne posent pas de problème.

Le formulaire d’upload qui ne prend qu’un STL

Cette conversion est presque toujours une affaire de conformité plutôt que de préférence. Un service d’impression en ligne liste `.stl` dans ses formats acceptés. Un logiciel de FAO importe des maillages et en importe exactement un type. Le logiciel d’un fabricant de machine a été écrit autour du STL et n’a pas été revisité. Un atelier a demandé « un STL » parce que c’est le mot qui désigne un fichier imprimable dans leur vocabulaire.

Discuter est rarement possible et généralement pas la peine. Ce qui en vaut la peine, c’est de s’assurer que le STL que vous remettez est bien celui que vous vouliez, parce qu’un STL ne dit rien de lui-même — pas d’unité, pas de nom de pièce, pas de matériau, pas de provenance — donc chaque erreur s’y trouve silencieusement jusqu’à ce qu’une pièce soit usinée à la mauvaise taille. Le reste de cette page est la liste de vérifications.

Le MTL à côté de votre OBJ n’est jamais ouvert

Un OBJ arrive souvent accompagné : un fichier `.mtl` qui nomme des matériaux, et un dossier d’images de texture que le `.mtl` pointe. Les lignes `mtllib` et `usemtl` dans l’OBJ y font référence. Rien de tout cela n’est lu, parce qu’il n’y a nulle part dans un STL où mettre un matériau, une texture, une coordonnée UV ou une couleur.

La conséquence mérite d’être directe. Un modèle acheté sur un marché parce qu’il était beau arrive en solide gris uni, et ce n’est pas une insuffisance de la conversion mais la définition du format cible. Quelques outils ont écrit de la couleur dans les deux octets libres de chaque enregistrement de triangle du STL au fil des années, selon deux conventions incompatibles ; aucune ne fait partie du format et aucune n’est produite ici. Si la couleur compte, le 3MF est le format d’impression qui la transporte.

Chaque groupe OBJ fusionne dans une seule liste de triangles STL

OBJ organise la géométrie avec des lignes `o` et `g`, et un modèle d’une certaine complexité les utilise — un corps, un couvercle, une poignée, chacun nommé. Un STL n’a qu’une seule liste de triangles du début à la fin et nulle notion d’un objet, donc tous les groupes y sont écrits dans l’ordre où ils sont apparus.

Les coques restent géométriquement séparées et l’identité est partie. PrusaSlicer et Cura détectent tous deux les coques déconnectées au chargement et proposent de les séparer en objets distincts sur le plateau, ce qui rétablit l’arrangement mais pas les noms — les pièces reviennent comme « Partie 1 » et « Partie 2 ». Si le destinataire a besoin de savoir quelle pièce est laquelle, dites-le dans le message, ou fournissez un STL par pièce en supprimant les autres dans une application de modélisation d’abord.

Les quads et n-gons sont éventés depuis le premier sommet

Les faces OBJ peuvent avoir n’importe quel nombre de sommets, et les triangles STL en ont exactement trois, donc chaque polygone est subdivisé. La méthode est un éventail : le sommet 1 est joint à chaque paire consécutive, donc un quad devient deux triangles et un hexagone devient quatre.

C’est exactement correct pour une face convexe et c’est l’endroit où cette conversion peut produire une géométrie fausse plutôt que simplement réduite. Un polygone concave éventé depuis un sommet hors de son propre intérieur produit des triangles qui se chevauchent, qui apparaissent dans le slicer comme une zone pliée ou auto-intersectée. Les logiciels de modélisation émettent presque toujours des faces convexes, donc c’est rare — mais si l’aperçu slicé montre un pli étrange sur une zone plate, triangulez l’OBJ proprement d’abord. La triangulation de Blender utilise une méthode d’ear-clipping qui traite correctement les polygones concaves.

Un OBJ ne déclare pas d’unité, donc le STL prend des millimètres

Aucun des deux formats n’enregistre d’unité. OBJ n’a pas de champ pour cela, et l’écosystème autour n’a pas non plus de convention — un maillage issu d’un outil de numérisation est souvent en millimètres, un d’un logiciel d’architecture en mètres, un d’un pipeline d’asset de jeu dans ce que le moteur a utilisé. Le STL est pareil, à ceci près que chaque slicer jamais écrit l’interprète en millimètres.

Donc les nombres passent et acquièrent un sens qu’ils n’avaient pas. C’est la manière la plus coûteuse dont cette conversion se trompe, et la vérification prend dix secondes : chargez le STL dans un slicer, lisez la bounding box, et comparez avec une dimension que vous connaissez. Une pièce qui devrait faire 60 mm et qui indique 0,06 mm a été modélisée en mètres ; une qui indique 1524 mm l’a été en pouces. Mettez à l’échelle avant d’envoyer plutôt que de demander au sous-traitant de le faire.

Les indices négatifs et relatifs dans l’OBJ sont résolus

Les indices de face OBJ sont en base un, et le format autorise aussi les indices négatifs, qui comptent à rebours depuis le sommet le plus récent — un coin écrit `-1` signifie le sommet déclaré juste avant cette face. Certains exportateurs utilisent cette forme partout parce qu’elle rend la concaténation de fichiers triviale.

Les deux formes sont résolues au fur et à mesure de la lecture, dans l’ordre, qui est la seule manière de le faire : un indice négatif dépend de combien de sommets avaient été déclarés à ce moment-là, donc il ne peut pas être réinterprété plus tard. Les spécifications de coin sous les formes `v`, `v/vt`, `v//vn` et `v/vt/vn` sont toutes acceptées et seule la partie sommet est utilisée, puisque les références de texture et de normale n’ont pas de destination dans un STL.

La soudure à l’entrée, et pourquoi le STL la jette à nouveau

Le lecteur fusionne les sommets coïncidents à l’intérieur de chaque groupe, en comparant à six décimales. Cela compte pour les autres cibles sur ce site — un OBJ converti en glTF ou PLY garde les sommets partagés et est d’autant plus petit — et c’est invisible dans un STL.

Le STL n’a pas de partage de sommet du tout : chaque triangle porte ses trois coins indépendamment, donc un coin utilisé par six triangles est écrit six fois quoi qu’ait fait le lecteur. Le fichier fait donc exactement 84 + 50n octets pour n triangles quelle que soit la propreté de la source — douze octets de normale de face, trente-six de coordonnées et deux inutilisés, par triangle. La normale est recalculée à partir de l’ordre d’enroulement plutôt que portée, puisque les slicers la dérivent de toute façon à partir de l’enroulement et que plusieurs ignorent entièrement la valeur stockée.

Vérifier le STL avant de payer une impression

Quatre choses, dans cet ordre, et toutes dans un slicer que vous contrôlez plutôt que dans la prévisualisation du sous-traitant. La bounding box, contre une dimension que vous pouvez vérifier. Le nombre d’objets, au cas où le modèle était en plusieurs pièces et où vous en vouliez une seule. Le rapport manifold — PrusaSlicer et Cura signalent tous deux les arêtes ouvertes au chargement et proposent une réparation. Et l’aperçu slicé à quelques hauteurs, qui montre si les parois sont là où vous pensez qu’elles sont.

Ce dernier point attrape ce que les autres manquent : des faces inversées produisant un creux là où il devrait y avoir du solide, un artefact d’éventail depuis un polygone concave, une coque interne dont personne ne connaissait l’existence. Un sous-traitant exécutera sa propre réparation avant d’imprimer, et sa réparation est faite sans savoir quelles caractéristiques de votre pièce sont fonctionnelles.

Quand envoyer l’OBJ ailleurs que vers un STL

Si vous imprimez cela vous-même, le 3MF est la meilleure destination et chaque slicer actuel le prend : il déclare explicitement les millimètres, garde chaque groupe comme son propre objet sur le plateau, et est un paquet compressé plutôt que cinquante octets par triangle. La seule raison de produire un STL pour votre propre imprimante est un slicer suffisamment ancien pour ne pas lire le 3MF.

Si le modèle va être édité plutôt que fabriqué, gardez l’OBJ — il a les groupes, les références de matériau et une forme textuelle que vous pouvez inspecter, et rien de cela ne survit à un passage par STL. Et si le modèle a été acheté, vérifiez ce que la licence autorise avant d’imprimer : les conditions des marchés couvrent en général le rendu et sont muettes sur la reproduction physique, ce qui est un droit différent.

Où l’OBJ est converti

Dans cet onglet de navigateur, en JavaScript simple. Aucun module WebAssembly n’est récupéré, rien n’est envoyé, il n’y a pas de compte ni de quota journalier, et l’onglet réseau pendant une conversion est la manière de le vérifier plutôt que cette phrase.

Le plafond gratuit est 100 Mo à l’entrée, et notez que la sortie peut être plus grosse que l’entrée pour un modèle dense — un OBJ stocke chaque sommet une fois et un STL le répète par triangle. Un modèle de quelques centaines de milliers de triangles est confortable ; au-delà de quelques millions, la plupart des slicers deviennent grincheux avant cette page.

Comment convertir OBJ en STL

  1. Déposez votre fichier OBJ sur cette page, ou cliquez pour en choisir un.
  2. Choisissez STL comme destination. La conversion se fait dans votre navigateur et le fichier n’est pas téléversé.
  3. Téléchargez le fichier STL terminé.

OBJ et STL : ce qui change

OBJ face à STL
OBJSTL
Nom completObjet WavefrontStereolithography
Extension de fichier.obj.stl
Type de médiamodel/objmodel/stl
Première publication19921987
Publié parWavefront Technologies3D Systems
LicenceStandard ouvertStandard ouvert
Situation actuelleActuelActuel
S’ouvre dans un navigateurAucun navigateurAucun navigateur
Envisagé à la placeGLTF, PLY3MF, PLY

Ouvrir le résultat

Blender lit aussi bien OBJ que STL : vous pouvez comparer le résultat à l’original sans second logiciel.

À quoi sert chaque format

Les deux visent des usages différents : OBJ l’échange entre programmes et la retouche, STL l’impression 3D. Cela mérite d’être pesé avant, car ce qui justifie l’un est souvent ce qui rend l’autre malcommode.

STL vient de 3D Systems et date de 1987. Blender, PrusaSlicer et Cura le lisent.

De OBJ à STL : questions fréquentes

Mon fichier OBJ est-il téléversé quelque part ?

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.

Convertir OBJ en STL est-il gratuit ?

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.

Y a-t-il une perte de qualité en convertissant OBJ en STL ?

OBJ et STL 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.

Dois-je installer quelque chose pour ouvrir un fichier STL ?

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 Stereolithography.

En savoir plus sur ces formats