Tutorial outline

Parametric 3D workflow & STL preparation

A complete pipeline to move from parametric geometry to a clean, validated and printable model.

Complete 3D design & preparation pipeline

From parametric geometry to a clean and printable STL.

This workflow brings together complementary tools to move from a parametric dans OpenSCAD à un maillage clean, printable and, when needed, manipulable through Python (Google Colab).

Paramétrique Cleanup Mesh Impression 3D Automatisation Python

Main idea: produce reliable STL files from boolean operations and remeshing, while keeping full control over the geometry.

Step 1

OpenSCAD — Conception parametric

OpenSCAD est un modeleur 3D scripté, idéal pour créer des modèles parametrics. Il s’appuie sur la bibliothèque de géométrie CGAL (INRIA, etc.) pour des opérations booléennes fiables.

Key points
  • Conception 100 % parametric : tout est défini par des variables.
  • Extrusions : linear_extrude, rotate_extrude.
  • Robust booleans : union, difference, intersection.
  • Direct STL export for the next steps of the pipeline.
OpenSCAD
hauteur = 20;
diametre = 10;

difference() {
    cylinder(h = hauteur, d = diametre);
    cylinder(h = hauteur, d = diametre - 3);
}
Extrusion linéaire
linear_extrude(height = 10)
    polygon(points = [
        [0, 0],
        [20, 0],
        [20, 10],
        [0, 10]
    ]);

OpenSCAD illustration

Exemple d’interface et de rendu OpenSCAD lié à ce workflow parametric.

Step 2

MeshMixer — Cleanup, remeshing, solidification

MeshMixer est idéal pour obtenir un solide clean à partir d’un STL (OpenSCAD ou autre). Il simplifie le maillage, solidifie le modèle et corrige automatiquement certains défauts.

Typical steps
  • Import : File → Import pour charger le STL.
  • Make Solid : solidifie et régularise le modèle (Solid Accuracy, Mesh Density).
  • Remesh / Reduce : réduit le nombre de faces tout en préservant les sharp edges et les boundaries.
  • Inspector : détecte et corrige les trous, pièces flottantes, problèmes de manifold.
  • Export STL : on réexporte pour Blender ou MeshLab.
Tip: après un Make Solid, appliquer un Reduce léger permet d’alléger le fichier, surtout lorsque le modèle comporte de grandes surfaces courbes.

MeshMixer illustration

Solidification, remesh et inspection d’un STL dans MeshMixer.

Step 3

Blender — Inspect and correct the mesh

Blender n’est pas spécialisé impression 3D, mais il offre une vue très fine du maillage et des outils puissants pour corriger des problèmes locaux (doublons, normales, etc.).

Useful tools
  • Supprimer les doubles : en mode Édition
    Mesh → Clean Up → Merge by Distance.
  • Recalculer les normales :
    Mesh → Normals → Recalculate Outside pour corriger le shading.
  • 3D Print Toolbox (add-on) :
    détection des surfaces non manifold, parois trop fines, surplombs problématiques, volumes non fermés.

Blender illustration

Inspection du maillage, suppression des doubles et recalcul des normales dans Blender.

Step 4

MeshLab — Cleanup avancé et validation

MeshLab est très puissant pour le traitement avancé : nettoyage massif, suppression des éléments non-manifold, fermeture de trous et vérification précise du caractère “watertight” du modèle.

Key functions
  • Cleanup : filtres pour supprimer sommets dupliqués, pièces isolées, faces dégénérées.
  • Éléments non-manifold : détection et correction ou suppression via les filtres de réparation.
  • Fermeture de trous : reconstruction des zones manquantes afin de rendre le modèle étanche.
  • Vérification “watertight” : s’assurer qu’il n’existe qu’un seul volume fermé, indispensable pour l’impression.
Step 5

Google Colab — Custom operations (STL scripts)

Quand les interfaces graphiques ne suffisent plus (découpe précise selon un plan, opérations en série, transformations complexes), on peut manipuler les fichiers STL directement en Python, par exemple via un notebook Google Colab.

Example: cutting a part in two along a Z plane

Ici on utilise la bibliothèque numpy-stl pour charger un mesh, filtrer les triangles selon leur position moyenne en Z, puis sauvegarder deux STL distincts (partie haute / partie basse).

Python · Colab
from stl import mesh
import numpy as np

# Charger le mesh
m = mesh.Mesh.from_file("piece.stl")

# Hauteur de coupe (plan Z)
plane_z = 10.0

# On regarde la position moyenne en Z de chaque triangle
mask = m.z.mean(axis=1) < plane_z

# Deux nouveaux meshes : partie basse et partie haute
partie_basse = mesh.Mesh(m.data[mask])
partie_haute = mesh.Mesh(m.data[~mask])

partie_basse.save("piece_bas.stl")
partie_haute.save("piece_haut.stl")
Extensions possibles :
découpe selon d’autres plans (X, Y, obliques), traitement de plusieurs fichiers en batch, transformations (scale, rotation, translation), filtrage de zones selon des critères géométriques.

Google Colab illustration

Manipulation de fichiers STL en Python dans un notebook Colab.

Conclusion: En combinant ces outils — OpenSCAD pour la conception parametric, MeshMixer et MeshLab pour le nettoyage, Blender pour l’inspection, et Google Colab pour les scripts — tu disposes d’une chaîne complète, flexible et reproductible pour produire des modèles 3D cleans et printables, tout en gardant la maîtrise de la géométrie et de l’automatisation.