Meshlab pour impression 3D

De EduTech Wiki
Aller à la navigation Aller à la recherche

Qu'est-ce que Meshlab ?

MeshLab est un logiciel libre de traitement de maillages(Mesh) 3D. Ce programme a été développé depuis 2005 par l'ISTI et le CNR dans le but de fournir un outil généraliste pour la manipulation et l'édition de modèles 3D conséquents, provenant notamment de scans 3D.

Pour ce faire, il propose différents filtres de nettoyage du maillage (suppression des vertex non référencés, suppression des doubles, unification cohérente, remplissage automatique des trous, élimination des compostants isolés,etc.), des outils de re-maillage (simplification, subdivision, reconstruction de surfaces...), de montage, de lissage, des fonctions de suppression de bruits (adoucissement, etc.) ainsi que des options de conversions de formats.

Meshlab comprend aussi d'autres outils utiles pour l'impression 3D ; parmi eux celui de tranchage permettant d'explorter des sections planes d'un maillage au format SVG ; ou encore l'outil de mesure grâce auquel il est possible de calculer la distance entre deux points de maillage.

MeshLab est disponible sous différentes plates-formes, dont Windows, Linux et Mac OS X. Il supporte les formats de stockage suivants : PLY, STL, OFF, 3DS, VRML 2.0, X3D et COLLADA.

MeshLab est utilisé dans de nombreux domaines de recherche et universitaires, tels que la microbiologie, la gestion du patrimoine culture2, la reconstruction de surfaces et l'impression tri-dimensionnelle.

En 2016, Meslab a subi une mise à jour incluant une réécriture du système et l'ajout de nouvelles options tels que différents nouveaux modes de visualisations des modèles 3D. La nouvelle version de Meshlab a aussi corrigé un certains nombre de bugs contenues dans la précédente version et sollicite aussi davantage la carte graphique pour le chargement et la gestion des données de la 3D.

Présentation de l'interface et de la navigation de Meshlab

Pour n'importe quel objet ouvert, Meshlab présente un certain nombre d'informations afin de faciliter la manipulation de l'objet.

Ainsi, en bas à gauche de l'écran , on trouvera les informations concernant le champ de vue de l'objet, et juste en dessous les images par secondes (FPS ou "Frame per second") que le système , autrement dit le niveau de difficulté supporté par le matériel informatique utilisé. A noter que si l'on change le mode de rendu dans la barre à outils "rendering mode", cela améliore le FPS. En bas à droite, on trouvera les informations sur les sommets (vertices) de l'objet sélectionner (attention à bien cliquer sur l'objet désiré si l'on en a plusieurs ouverts) et les "faces". La "sélection" permet de voir combien de "vertices" et de "faces" l'on a sélectionné , cela s'avère très utiles lorsque peu de points sont pris. Dans la boîte à dialogue, il est possible de voir les différents changements apportés par les filtres ajoutées ; mais tous les filtres ne peuvent pas être appliqués à tous les objets et ce sont les informations de l'interface précédemment citées qui déterminent s'il est possible ou non de l'appliquer.

Pour la navigation, Meshlab se base sur le principe du "trackball", c'est-à-dire que lorsque l'on clique sur l'objet il se déplace selon son centre. Le centre peut être modifié en double-cliquant sur la sourie. Plus le trackball est grand, plus la navigation de l'objet sera lente. Quelques autres manipulations peuvent s'avérer utiles, comme le "panning" qui permet de faire bouger l'objet sur l'interface en appuyant simultanément sur la touche contrôle du clavier et le bouton gauche de la sourie, ou encore le changement du champ de vue qui s'opère lorsque l'on appuie en même temps sur la molette de la sourie et sur la touche shift du clavier. Enfin, en appuyant sur contrôle+H, il est possible de revenir au dernier mode de navigation. Sur la version mise à jour de Meshlab, il est toujours possible de gérer le trait de lumière et d'ombre de l'objet ; cependant cela se fait dans la boîte à dialogue.

Outils et visualisation

Dans les outils, il est possible sélectionner différents modes de visualisations des couches des objets. Contrairement à l'ancienne version de Meshlab, il est possible d'avoir plusieurs modes de visualisations activés. Meshlab n'a cependant pas de fonction "undo" (ctrl+z) général - il en a mais pour des outils très spécifiques - permettant d'annuler l'action effectuée, c'est pourquoi il est utile d'utiliser la fonction "preview" pour ne pas avoir à appliquer directement le filtre à votre objet. Pour cela, il suffit d'aller sur le filtre que vous désirez appliquer à votre objet, mais, au lieu de cliquer sur "apply", cocher la case preview. Meshlab vous donnera alors un aperçu de votre objet avec le filtre appliqué. Si vous désirez avoir davantage d'informations sur le filtre choisi, vous pouvez également cliquer sur le bouton "help".

Meshlab.PNG

Quelles sont ses fonctionnalités ?

  • Sélection interactive et suppression de portion de mailles. Même pour les modèles larges.
  • Interface de colorimétrie pour la sélection, le lissage et le coloriages des mailles
  • Import/Export de beaucoup de format de fichier de dessin 2D
    • import:PLY, STL, OFF, OBJ, 3DS, COLLADA, PTX, V3D, PTS, APTS, XYZ, GTS, TRI, ASC, X3D, X3DV, VRML, ALN
    • export:PLY, STL, OFF, OBJ, 3DS, COLLADA, VRML, DXF, GTS, U3D, IDTF, X3D
  • Filtre de remaillage
  • Filtre de couleur et d'inspection variés
  • Outils de scannage 3D
  • Outils de mesures et de slicing

Importer des modèles 3D et exporter en .stl pour l'impression 3D

On peut utiliser Meshlab pour transcoder à peu près n'importe quel format.

Par exemple, Google sketchup (free version) ne peut qu'exporter des fichiers en .DAE, (Format collada), à moins qu'un plugin spécifique ne soit installé. En principe, pour les interfaces utilisateur et les slicers des imprimantes 3D, il est nécessaire d'avoir un fichier au format .STL. Certaines imprimantes peuvent lire du.obj ou du .ply ; cependant il est conseillé d'utiliser du .STL puisqu'il s'agit du standard pour l'échange open source d'objet 3D imprimable.

Ainis, Meshlab permet donc de convertir un fichier en fichier .STL.

Exemple d'importation .dae:

  • File -> Import Mesh

Il est possible de fixer des mailles ou faire d'autres manipulation grâce aux diverses fonctionnalités. Pour les novices, NetFabb est cependant plus simple.

To export as .stl:

  • File -> Export Mesh as

Réduction et réparation de mailles

Meshlab inclut plusieurs algorithmes permettant de réparer ou de simplifier des mailles. Voici une description de quelques-uns :

Réduction de triangle

Première étape:

Menu File -> Import Mesh

Seconde étape :

  • Cochez l'icône filaire en haut

Troisième étape:

  • Sélectionnez le (peut-être) meilleur filtre de réduction de triangle
Menu Filters -> Remeshing, simplification, and Reconstruction
Quadric Edge Collapse Decimation

Quatrième étape:

  • Maintenant dans la petite fenêtre :
  1. Tick "preserve Normal", maybe also "preserve topology"
  2. Enter target number of faces or enter a fraction, e.g. 0.25
  3. Apply

Autre exemple de démarche à suivre pour la réduction des mailles

Voici une démarche détaillée à suivre si vous désirez vous entraîner à réduire la taille de votre fichier STL :

  • Télécharger l'objet sur lequel vous désirez travailler, par exemple ce trône sur Thingverse
  • Depuis Meshlab, cliquer sur import, puis sélectionner le trône que vous venez de télécharger. Vous noterez au passage qu'il s'agit d'un objet complexe au vue du nombre de ses sommets et de ses triangles (indiqués en bas, dans la fenêtre violette foncée (vertices/faces). Plus l'objet est complexe, plus il est difficile de le coder. Le poids du fichier du trône .stl est ici de 19'273 ko, ce qui est conséquent et lourd à traiter. C'est une image à haute définition, voire trop haute définition : lors du tranchage, on ne pourra pas atteindre une telle précision.
  • Il existe sur Meshlab une fonction permettant de réduire la taille du fichier sans supprimer des triangles et des sommets. Pour cela, il suffit d'aller dans filters> Remeshing, Simplification and Reconstruction > Quadric Edge Collapse Decimation. Une fenêtre s'ouvre, il suffit alors de mettre l'espace "percentage reduction" à 1, puis de cliquer sur "apply". Il faut laisser "optimal position of simplified vertices" coché, de même que "post-simplification clearing".
  • Si l'on désire diminuer la précision de moitié, il faut appliquer la même démarche mais, une fois la fenêtre ouverte, il faut mettre 0.5 dans l'espace "percentage reduction"; puis cloquer sur apply. Il faut laisser "optimal position of simplified vertices" coché, de même que "post-simplification clearing". Même si cela n'est pas visible à l'oeil nu, on peut voir que, sur la banderole violette indiquant le nombre de sommets et de triangles, le tout a été divisé par deux. La taille du fichier est passé de 19'273 ko à 9637 ko.

Réparation de maillage

Pour vérifier que l'objet est non-multiple :

Render -> Show non manif edges
Render -> Show non-manif vertices

Les deux opérations montreront une petite boîte qui indique combien d’éléments sont faux. En outre, les "taches" défectueuses sont peintes en roses ou en rouges.

Voici une liste des opérations de nettoyage populaires effectuées par John K. Johnstone (retrieved oct. 2015):

  • Supprimer les faces et les sommets à double:
 Filters -> Cleaning and Repairing -> Remove Duplicate Faces
 Filters -> Cleaning and Repairing -> Remove Duplicated Vertex
  • Combler les trous :
  Filters -> Remeshing, Simplification and Reconstruction -> Close Holes
  • Orienter les faces (toutes les faces doivent pointer vers l'extérieur) :
 Filters->Normals, Curvatures and Orientation->Re-Orient All Faces Coherently

Fusionner deux objets en un seul (mashups)


Dans l'éventualité où l'on désirerait fusionner deux ou plusieurs objets (peut-être dans le simple but de fusionner des modèles se trouvant déjà en bonne position), il est préférable d'utiliser des outils comme Google Sketechup ou Netfabb, d'exporter les objets séparément, puis d'ouvrir individuellement chaque objets dans Meshlab. En effet, aligner des modèles et fusionner des mailles ("Mesh merging") est plus compliqué avec Meshlab.

Fusionner : la manière la plus simple

Dans le cas de figure le plus simple, les objets sont déjà en bonne position. La meilleure option reste d'utiliser Netfab ; car le logociel permet de déplacer des objets dans Meshlab, mais c'est difficile : il est préférable de le faire dans un autre logiciel au préalable, en suivant la procédure suivante :

  • Import the STL Files (two or more)
   File -> Import Mesh 
   File -> Import Mesh 
  • Menu Filters->Layer and Attribute Management->Flatten Visible Layers
  • File->Export Mesh as

Liens

Autres logiciels