Grand Plage: ateliers Clics et Déclics

Supports des Ateliers de Culture Numérique à Roubaix

Outils pour utilisateurs

Outils du site


atelierscodage

Objectifs pédagogiques de l'activité

  • découvrir le codage ou utiliser le codage pour créer des objets 3D
  • manipuler un langage informatique et avoir les analogies avec les autres langages humains
  • utiliser un logiciel de création 3D qui mets à profit les apprentissages théoriques appris en collège (géométrie, trigonométrie)
  • analyser un objet complexe et le décomposer en sous-objets plus simples
  • réaliser la modélisation d'un objet réel en code informatique (texte)
  • en savoir plus sur l'impression 3D et visiter un acteur de l'impression 3D du territoire roubaisien (entreprise Dagoma qui fabrique des imprimantes 3D ou le Fablab de Lille (Rue des Arts, friche Roussel) qui peut vous guider ou vous accompagner pour vos projets 3D.

Durée de l'activité

plusieurs séances (au moins 4) de deux heures chacune

Nombres de participants maximum

10 / 12 personnes, idéalement des binômes parent/enfant

Tranche d'âge du public (âge minimum)

à partir de 13 ans jusqu'à 107 ans (notions de trigonométrie (angles, ¶, sinus, cosinus) acquises)

Pré-requis

→ savoir écrire, compter
→ connaître les angles, les sinus et cosinus (trigonométrie)

Matériel nécessaire durant l'activité

Matériel nécessaire et mis à disposition des participants: ordinateur, logiciel Openscad, imprimantes 3D et accessoires, logiciel Cura


Déroulement de l'activité

Coder et imprimer un objet 3D

Le but de cet atelier est:

  • d'analyser l'objet à coder et de penser un scenario de création de sous-objets
  • de décomposer l'objet en sous-objets emboîtables et imprimables par une imprimante 3D
  • de lister les dimensions des sous-objets en insistant sur les emboîtements et en utilisant des variables
  • de programmer les sous-objets avec OpenScad
  • de produire des fichiers compatibles avec les imprimantes 3d
  • de finaliser les objets (mise à l'échelle,finition)
  • d'imprimer des sous-objets, de vérifier leur compatibilité et d'ajuster les dimensions

Analyser l'objet à coder

Vous avez 15 ans ou presque, vous réfléchissez à l'orientation que vous choisirez et pour affiner votre choix, vous avez décidez de trouver un stage dans des entreprises dont l'activité vous intéresse.
Çà y est, vous avez décrochez un stage dans une entreprise informatique et le sujet de votre stage est le suivant:
“Pour répondre aux souhaits de nos adhérents, l'association vous propose de l'aider à concevoir et produire un arbre généalogique modulaire 3D. A partir d'un point d'origine, les modules que vous proposerez permettrons de construire une arborescence contenant l'ensemble des descendants d'un couple.
Pour représenter les descendants de l'ancêtre né pendant la révolution française (1795-1811), il est fort probable qu'il faille envisager une représentation contenant près de 1000 descendants. Il faut y ajouter les conjoints des couples de parents … cela nous mènera à près de 1000 personnes supplémentaires.

L'arbre produit permettra de la même façon de représenter l'organigramme d'un collège, d'un lycée ou d'une entreprise, …, toute représentation complexe ou trop grande en mode plan


Génération n ou niveau n : chaque enfant de la génération n-1 pourra avoir de 1 à 15 enfants
Génération 4 ou niveau 4 : chaque enfant de la génération 3 pourra avoir de 1 à 15 enfants
Génération 3 ou niveau 3 : chaque enfant de la génération 2 pourra avoir de 1 à 15 enfants
Génération 2 ou niveau 2 : 1 à 15 enfants
Génération 1 ou niveau 1 : 2 personnes

Représenter cet arbre descendant sur un plan se révèle impossible à moins de disposer d'un … très grand mur.
Comme le poumon pour augmenter sa surface d'échange air/sang ou l'arbre pour augmenter sa surface de photosynthèse, nous tenterons de représenter un plan dans un volume pour disposer de place pour contenir et hiérarchiser.
Ce qu'il vous est demandé ici est de proposer une représentation 3D du même arbre.

Et si nous proposions la production d'un arbre de type mécano. L'arbre part d'un tronc (qui ne fait pas partie de l'exercice, on pourra se servir avec avantage d'un pied pupitre de musicien). Nous débuterons le travail par le haut du fût du tronc où seront représentés les deux individus du couple du début de 19ème siècle d'où partirons un nombre de 1 à 15 enfants (1ère subdivision).
De ce premier plan de subdivisions partiront donc un nombre variable de branches de première génération qui elles-même se subdiviseront à leur tour en un nombre variable de branches de seconde génération et ainsi de suite.
Inspirons d'exemples présents dans la nature (les arbres) ou dans notre corps (nos bronches) pour nous aider à comprendre comment nous pourrons résoudre ce défi.


Nous pouvons observer ici un arbre dont chaque branche donne naissance à un nombre variable de branches sur plusieurs générations.


Si nous examinons cet arbre présent dans nos bronches, nous voyons qu'à chaque subdivision ou génération, par un nombre variable de branches et que cela se répète à chaque subdivision suivante.

L'arbre généalogique de nos ancêtre obéit au même phénomène: chacun de nos ancêtres à un nombre variable d'enfants et cela se répète à chaque génération !
Il est difficile voire impossible de représenter une telle structure sur un plan (2 dimensions) au-delà de la troisième génération.
La représentation en 3 dimensions devra résoudre cette difficulté de représentation.

Je vous propose donc de concevoir un arbre en trois dimensions avec un nombre variable de branches à chaque génération et de modéliser les sous-objets emboîtables de cet arbre en les imprimant sur une imprimante 3D classique.
Différents sous-objets de notre arbre:

  • le tronc: comme annoncé, nous n'imprimerons pas le tronc, un pied de pupitre de musicien fera très bien notre affaire.
  • les branches: du tronc partent un nombre variables de branches. Comme pour l'arbre réel illustré plus haut, nous déciderons que certaines branches sont inclinées à 30 degrés et d'autres à 50 degrés.
  • chaque branche mère se termine par un capitule d'où partent nos branches filles à leur tour inclinées à 30 degrés et où à 50 degrés.


Sous-ensembles le l'arbre 3D

Pour pouvoir modéliser toute forme d'arborescence en fonction des besoins (nombre variable d'enfants dans chaque famille), il faudra être capable de la composer au montage en fonction des besoins spécifiques.
Par conséquent, pour relier les branches filles à leur branche mère, nous créerons des couronnes à deux plateaux superposés qui termineront chaque branche mère.
Pour cela, nous proposons les sous-ensembles emboîtables suivants:

  • les branches (A),
  • les capitules (B),
  • les raccords entre les capitules et les branches (C),
  • raccord tronc / couronne de l'arbre (D),
  • des feuilles pour afficher les textes avec les noms et détails des descendants présents dans l'arbre.

Caractéristiques de la branche

La branche (A) sera le composant les plus facile à programmer.
Elle aura une longueur fixe et qui pourra changer de valeur pendant les tests.
Elle sera cylindrique et terminée à chaque extrémité pour une forme polygonale; cela évitera la rotation des branches autour de leur axe.

  • nous désignerons la longueur par la variable brl à laquelle nous donnerons une valeur initiale de 170 mm hors tout (cad embouts compris).
  • elle sera cylindrique d'un diamètre de 10 mm
  • elle sera prolongée d'un embout cylindrique hexagonal (cylindre à 6 côtés sur sa longueur) de 15mm qui pourra s'enfoncer dans le capitule à l'une de ses extrémité et dans le raccord à l'autre extrémité (le diamètre de l'embout sera de 1.5 mm plus petit que celui de la branche).

Résumé:

// variables utilisées
    facettes=6;         // nombre de facettes des embouts
    lg_emboutsbr=15;    // longueur des embouts en mm
    lg_br=170;          // longueur tige
    di_br=10;           // diamètre tige
// variables calculées
    di_emboutsbr=di_br-1.5; // diamètre des embouts

Langage Openscad
Pour la création de ce sous objet, nous découvrirons le langage Openscad, la syntaxe des commandes, les variables et les variables spéciales et les principes de programmation avec ce langage. Nous n'utiliserons que deux fonctions: une fonction 3D cylinder() et une fonction de transformation translate().

pour que les embouts puissent être enfoncés dans ses supports à chaque extrémité, leur diamètre de l'embout devra être très légèrement plus petit que le diamètre du trou dans lequel elles s'enfonceront (ici 1.5mm).

Caractéristiques du capitule

Le capitule est le composant le plus ardu à programmer.
Il sera composé de deux plateaux concentriques circulaires superposés, posés horizontalement avec un intervalle.
Ils seront percés d'un nombre variable de trous pentagonaux disposés en deux cercles au tour du centre et dans lesquels les branches viendront s'insérer.
Pour percer les trous dans l'angle et la direction souhaitée, nous aurons ici besoin de calculer les coordonnées de chaque point à l'aide des sinus / cosinus de ces points:

Résumé:

//dimensions communes
facettes=6;
// dimensions branche
di_br=10;           // diamètre branche
lg_emboutsbr=15;    // longueur des embouts 
lg_br=170;          // longueur de la branche
//
//dimensions capitule
di_grdplatcap=150;  // diamètre plateau supérieur du capitule
ep_grdplatcap=3;    // épaisseur plateau supérieur du capitule
di_ptplatcap=90;    // diamètre plateau inférieur du capitule
ep_ptplatcap=4;     // épaisseur plateau inférieur du capitule
ep_anncap=14;       // épaisseur anneau inter plateaux du capitule
//

Caractéristiques du raccord capitule / branches

La troisième pièce de notre montage aura le rôle crucial de cheviller le capitule à la branche qui le supporte. Il aura la forme d'un Y irrégulier

  • un axe plein montant vertical qui supportera les différents éléments du capitule
  • deux axes creux descendants qui accueilleront une branche quittant un capitule à 50° ou une branche quittant un capitule à 30°.


Résumé:

toutes les variables:

//dimensions communes
facettes=6;
// dimensions branche
di_br=10;           // diamètre branche
lg_emboutsbr=15;    // longueur des embouts 
lg_br=170;          // longueur de la branche
//
//dimensions capitule
di_grdplatcap=150;    // diamètre plateau supérieur du capitule
ep_grdplatcap=3;      // épaisseur plateau supérieur du capitule
di_ptplatcap=90;      // diamètre plateau inférieur du capitule
ep_ptplatcap=4;       // épaisseur plateau inférieur du capitule
ep_anncap=14;         // épaisseur anneau inter plateaux du capitule
//
//dimensions calculées
haut_cap=ep_grdplatcap+ep_ptplatcap+ep_anncap+3;
//

Caractéristiques du raccord socle / couronne de l'arbre

La quatrième et dernière pièce de notre montage assurera la fixation de notre ensemble sur le pied que vous aurez choisi. On utilisera donc un seul raccord-socle pour un arbre.
Ce raccord sera composé de:

  • un axe plein montant vertical qui supportera les différents éléments du capitule
  • un axe creux descendant qui accueillera le piton sur support, ici un pupitre de musicien.


Résumé:

toutes les variables:

//dimensions communes
facettes=6;
// dimensions branche
di_br=10;           // diamètre branche
lg_emboutsbr=15;    // longueur des embouts 
lg_br=170;          // longueur de la branche
//
//dimensions capitule
di_grdplatcap=150;    // diamètre plateau supérieur du capitule
ep_grdplatcap=3;      // épaisseur plateau supérieur du capitule
di_ptplatcap=90;      // diamètre plateau inférieur du capitule
ep_ptplatcap=4;       // épaisseur plateau inférieur du capitule
ep_anncap=14;         // épaisseur anneau inter plateaux du capitule
//
//dimensions calculées
haut_cap=ep_grdplatcap+ep_ptplatcap+ep_anncap+3;
//

Caractéristiques des feuilles

L'arborescence est faite pour représenter les descendants d'un ancêtre ou l'organisation d'une entreprise sous forme d'organigramme.
Pour afficher les personnes qui composent l'organigramme, il faudra pouvoir poser des étiquettes au différentes terminaisons et intersection des branches.
Et si nous utilisions des feuilles comme les feuilles de l'arbre.
de nombreuses formes de feuilles existent. Pour cet exercice, nous choisirons les feuilles de tilleul dont le forme est agréable à voir.

Comment s'y prendre ?
Coder une feuille d'arbre est possible mais représente un véritable défi. Nous arriver à nos fins, nous choisirons une photo de feuille de tilleul (de bonne résolution et téléchargée sur Wikimedia Commons) et à laquelle nous aurons préalablement ajouté un pétiole de belle longueur avec le logiciel libre GIMP.
Une photo est un document 2D … comment passer de la photo 2D à un document 3D modifiable avec Openscad.
Cela est possible mais il faut d'abord passer notre photo d'image matricielle en image vectorielle et nous choisirons le logiciel libre de traitement d'images vectorielles Inkscape pour faire cela.

Le tutoriel en ligne Convert Any 2D Image to a 3D Object Using OpenSCAD (and Only Free Software) nous permettra d'aboutir facilement à la création d'une feuille de tilleul 3D avec Openscad. Voici quelques copie d'écran:
- Vectoriser une image 2D

- Génération d'un script Openscad pour l'image vectorisée

- Adaptation du script Openscad


Principales fonctions

atelierscodage.txt · Dernière modification: 2021/03/30 22:07 par mediarbx