2. Conception et Design en Three Dimension#

Openscad#

C’est un logiciel gratuit et open source qui permet de faire de la modélisation 3D au travers de lignes de code (type python, octave, etc.). On peut retrouver un ensemble de code sur ce site afin de démarrer en autodidacte. Chaque ligne de code est un hyperlien renvoyant vers un wiki très complet qui donne une explication suivie d’exemples sous formes de codes et de screenshot. Si la tâche peut sembler insurmontable avec le temps à votre disposition, n’hésitez pas à vous aider de ChatGPT pour les bases de votre pièce.

2.2. Idées, croquis et prise en main du logiciel#

Nous nous sommes concertés le temps d’un instant avec Gala Toscano afin de savoir ce que nous allions faire comme modèle 3D utilisant un Flexlinks. Nous avions l’ambition de faire un oiseau dont le corps se plie à la façon du mécanisme suivant.

Les ailes suivraient le mouvement du Flexlink donnant ainsi l’illusion de battre. Les consignes et le temps imparti nous ont très rapidement contraint à revoir nos ambitions à la baisse tout en essayant de suivre la ligne directrice initiale.

Suite à une prise en main précaire du logiciel Openscad comme le témoigne la photo suivante.

2.3. Modélisation de nos pièces#

Gala a décidé de réutiliser le code de Suzanne Lipski pour le Flexlink

Voici le code correspondant au Flexlink

by Suzanne Lipski

_$fn =50 ;  // nombre de faces_
_h = 9.6 ;  // hauteur du flexlink_
_d = 50 ;   // longueur de la tige_
_w = 1 ;        // épaisseur de la tige_ 
_rc = 4 ;       // rayons des extrémités_ 
_e =8 ;         // distance entre les centres des trous_
_hole = 2.5 ;   // rayons des trous_
_// taille des extrémitées = e + 2*rc_ 
_// longueur totale = d +2*size of extremities_ 

_//tige_ 

_translate ([-w/2,e+rc,0])_
_cube([w,d,h]);_ 


_// extremité 1_  

_difference()_
_union() // corps_ 
_cylinder(h, r=rc);_ 
_translate([0,e,0])_ 
_cylinder(h, r=rc);_ 
_translatel [-rc, 0,0])_ 
_cube([2*rc,e,hl);_ 
_cylinder(h, r=hole); // trou 1_ 
_translate([0,e,0])_ 
_cylinder(h, r=hole); // trou 2_ 

_// extremité 2_ 

_difference()_
    _union() //corps_ 
        _translate([0,d+(2*rc+e),0])_
_cylinder(h, r=rc);_ 
_translate([0,e,0])_ 
_cylinder(h, r=rc);_ 
_translate([-rc,0,0])_ 
_cube([2*rc,e,h]);_ 

_translate([0,d+(2*rc+e),0]_
_cylinder(h, r=hole); // trou 3_ 
_translate([0,e,0])_ 
_cylinder(h, r=hole); // trou 4_

De mon côté je me suis aidé de ChatGPT afin de modéliser ma pièce. Cette dernière est censée représenter les ailes de notre oiseau. Nous devons en imprimer deux exemlaires afin que celles-ci viennent s’emboiter avec la pièce de Gala à l’aide de deux petites encoches convexes (type LEGO) à la base de la pièce

Voici le code de l’aile

// Auteur: Charles Ackermans
// Licence: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

> _$fn = 100; // Augmente la résolution des courbe_s

>_// Dimensions de l'aile_
_aile-longueur = 100 ;_
_aile-largeur = 30 ;_
_aile-epaisseur = 3;_
_encoche-largeur = 2.4;_
_encoche-hauteur = 5;_
_encoche-epaisseur = 11;_

>_// Fonction pour créer une encoche LEGO convexe_
module encoche_convexe() {_
    _union() {_
        _rotate([90, 0, 180]) { // permet jouer avec le sens des encoches_
            _scale([1, 1, -1]) {_
                _difference() {_
                    _cylinder(r = encoche-largeur / 2, h = encoche-epaisseur);_
                    _translate([0, 0, -1])_
                        _cylinder(r1 = encoche-largeur / 2, r2 = 0, h = 1);_
                }
            }
        }
    }
}

>_// Fonction pour créer l'aile avec les encoches LEGO convexes_
_module aile() {_
    _union() {_
        _linear-extrude(height = aile-epaisseur) {_
            _polygon(points = [_
                _[0, 0],_
                _[aile_longueur / 2, aile_largeur],_
                _[aile_longueur, 0]_
            ]);
        }
        _translate([1.5, 0,1.5])_
            _encoche-convexe(); // Permet de translater l'encoche à la base du repère_
        _translate([aile_longueur-1.5, 0, 1.5])_
            _encoche-convexe(); // permet de translater l'encoche au bout_
    }
}

>_// Appel de la fonction pour créer l'aile
aile();_

Le temps du projet ne permet malheureusement pas de pouvoir aller très loin dans la maitrise d’Openscad. Cependant, l’un des objectifs du module est de paramétriser sa pièce afin de pouvoir modifier les paramètres qui lui sont associés le plus efficacement possible. L’utilisation de ChatGPT permet de la faire. Le minimum est donc de bien prendre le temps de comprendre ce que le logiciel nous propose en faisant varier les différents paramètres.

Creative Common Licence#

Les licences Creative Commons (CC) sont un ensemble de licences de droits d’auteur qui permettent aux créateurs de partager leur travail tout en protégeant certains droits. Ces licences ont été développées pour offrir une alternative aux licences de droits d’auteur traditionnelles qui peuvent parfois s’avérer compliqués à mettre en place.

Il existe plusieurs types de licences. Elles sont expliquées ci-dessous :