2. Conception Assistée par Ordinateur (CAO)#

Ce deuxième module vise à concevoir, modéliser et documenter un kit “FlexLinks” avec un logiciel de conception 3D, en vue de le fabriquer avec une imprimante 3D lors du prochain module. Les éléments seront conçus de manière paramétrique pour ajuster facilement leurs dimensions selon les matériaux et les machines utilisées.

Logiciel#

OpenSCAD permet de créer des pièces 3D à l’aide de code, qui génère des formes de base (cube, sphère, cylindre, polyèdre). Des opérations graphiques et logiques peuvent ensuite être appliquées pour modifier leur forme, taille, orientation, etc. J’ai téléchargé OpenSCAD version 2024.10.13 pour Windows ; j’ai opté pour l’installateur “.exe”.

Utilisation de OpenSCAD#

Après l’installation, il suffit de démarrer le programme et de créer un nouveau fichier.
L’interface d’OpenSCAD se divise en deux parties : à gauche, une zone d’édition où vous saisissez votre code, et à droite, une fenêtre qui affiche l’aperçu de l’objet généré en fonction du code écrit.

Pour afficher le résultat de votre code dans la fenêtre de droite, cliquez sur “calculer l’aperçu” situé en haut de la zone d’édition. L’option “calculer le rendu” permet, quant à elle, de générer le rendu final de la pièce. Une fois le rendu terminé, vous pourrez exporter votre modèle au format “.stl” . Ce fichier sera ensuite utilisé dans un logiciel de découpage (slicer) pour générer le code nécessaire à l’imprimante 3D afin d’imprimer votre pièce.

Code et aperçu#

Avant de débuter la création de votre pièce, il est important d’identifier les paramètres nécessaires à sa modélisation. Pour cela, commencez par analyser les différentes parties qui la composent et réfléchissez à la manière de les concevoir en utilisant les formes de base proposées par OpenSCAD.

Pour la pièce en question, il faut deux parallélépidèdes rectangles percés de quatres trous cylindriques tout deux. Ensuite ces deux parallélépidèdes rectangles faisant office de briques doivent être relié par une bande (cette bande était un long parallélépidède rectangle assez fin pour être flexible et qui matchent dimensionnellement avec les deux briques.)

Étant donné que la pièce comporte des trous dans les briques, il faudra retirer des briques des petits cylindres. Cela peut être réalisé grâce à l’opération “différence” dans OpenSCAD. Cette opération permet de soustraire le volume d’une pièce à une autre, ce qui est précisément ce dont nous avons besoin pour créer le creux dans les briques.

Il faut tenir compte de l’espacement entre les pièces et leur orientation (angle par rapport aux axes x, y et z.)

Ce sont des paramètres dont nous aurons besoin pour réaliser ces pièces.

Pour les parallélépidèdes rectangles, j’utilise la fonction “cube” avec les dimensions (x,y,z); pour les trous cylindriques la fonction “cylinder” (le diamètre et la hauteur); ainsi que la fonction “translate” pour le placement des éléments et “union” pour tout assembler.

Ainsi, j’ai à définir le diamètre des trous , la hauteur et la largeur des briques, l’épaisseur de la bande comme paramètres avec le paramètre “$fn” pour obtenir une forme plus ou moins lisse.

// Paramètres
diametre=3.5;
hauteur=2.1;
w=8;
epaisseur=0.9;
fn=45;


module hole() {
    cylinder(h=hauteur,d=diametre,$fn=fn);
}

module brick() {
    difference() {
        cube([2*w,2*w,hauteur]);

        for (x = [0,w]) {
            for (y = [0,w]) {
                translate([x+w/2, y+w/2, 0])
                    hole();
            }
        }
    }
}

module band() {
    cube([epaisseur,8*w,hauteur]);
}


module flexlink() {
    union() {
       brick();

       translate([0,8*w,0])
          brick();

       translate([w,2*w,0])
          band();
    }
}

flexlink();

Pour la seconde pièce qui est destiné à être imbriquée dans la première pièce , une petite brique élémentaire de type Lego voici le code :

// Paramètres
tolerance = 1;          // Tolérance pour de petits ajustements
brique_size = 3;        // Diamètre des cylindres
brique_height = 2;      // Hauteur des cylindres et des éléments
poly_n = 100;           // Nombre de facettes pour des cylindres lisses
size = 4;               // Taille du cube

// Union pour combiner les objets
union() {
    // Cylindre de base en dessous du cube
    translate([0, 0, -brique_height])
    cylinder(h = brique_height, d = brique_size, $fn = poly_n);

    // Différence pour créer des trous dans le cube
    difference() {
        // Cube principal
        translate([-size / 2, -size / 2, 0])
        cube(size);

        // Premier cylindre traversant le cube
        translate([0, 0, brique_height])
        cylinder(h = brique_height, d = brique_size, $fn = poly_n);

        // Deuxième cylindre traversant le cube
        translate([0, 0, brique_height])
        cylinder(h = brique_height, d = brique_size, $fn = poly_n);
    }
}



/* Ce code OpenSCAD crée une structure combinant un cylindre et un cube, avec des opérations d’union et de différence. Voici une explication détaillée :

  1. Paramètres : tolerance : une tolérance pour des ajustements mineurs (non utilisée ici). brique_size : diamètre des cylindres. brique_height : hauteur des cylindres et d’autres éléments. poly_n : nombre de facettes pour les cylindres (plus ce nombre est élevé, plus le cylindre sera lisse). size : taille des côtés du cube.

  2. Création d’une union d’objets : La fonction union() permet de combiner plusieurs formes géométriques en un seul objet final.

  3. Ajout d’un cylindre de base : Un cylindre est placé sous le cube à la position [0, 0, -brique_height]. Ce cylindre a une hauteur de brique_height et un diamètre de brique_size.

  4. Opération de différence : La fonction difference() est utilisée pour soustraire certaines formes d’un cube initial : Cube principal : un cube centré à l’origine, avec une taille de size x size x size. Premier cylindre creux : un cylindre est soustrait du centre du cube, à la position [0, 0, brique_height]. Deuxième cylindre creux : un autre cylindre est également soustrait, au même endroit, pour répéter ou étendre l’effet.

  5. Résultat final : L’objet final est un cube posé sur un cylindre. Le cube est traversé par des trous cylindriques, créés par l’opération de soustraction.

  6. Utilisation : Copier ce code dans un fichier OpenSCAD et l’exécuter pour voir le modèle 3D généré. Modifier les paramètres (comme size ou brique_size) pour personnaliser le modèle. */