*
Robotix 2022


Notre premier objet 3D, une bague

  

Nous allons faire une bague et pour ce faire, nous allons introduire la notion de "module".

Un module est un court script que réalise une action qui peut être utilisée ultérieurement tout au long du programme.
On ne peut prévisualiser le résultat que si l'on appelle le module la fin du script (ici anneau();

$fn = 60;
module anneau(){
dia = 15;

difference(){
cylinder (d=dia+2,h=2);
translate([0,0,-1])
cylinder (d=15,h=4);
}}

Pour commencer nous allons créer le module anneau() où nous trouvons un cylindre qui traverse un autre et le évide grâce à la fonction difference().
Nous constatons pourtant que le cercle n'est pas entièrement percé, car le cercle traversant et appuyé sur le même niveau que le cercle extérieur. Pour éviter ceci il suffit de descendre l'axe Z d'un millimètre avec la commande translate.

Nous introduisons ici la notion de variable, qui est un mot ou une suite de caractères contenant une valeur ce qui permet éventuellement de appliquer des calculs à certaines valeurs (ici $fn et dia).
  
La variable $fn = 60 augmente le nombre de facettes des cycindres.
$fn = 60;
module goutte(){

hull(){
cylinder (d=.1,h=2);
translate([-4,0,0])
cylinder (d=4,h=2);
}}

Une forme de goutte est crée en englobant "hull()" deux cercles , l'un d'un diamètre de 0.1 mm et l’autre de 3 mm.
C'est le deuxième module du programme : goutte().


module bague(){
translate([0,1,0])
rotate([90,0,0])
anneau();
translate([3,0,7.5])
union(){
rotate([0,0,20])
goutte();
rotate([0,0,-20])
goutte();
}}

Le module bague() contient tous les éléments pour l’assemblage de la bague.
La commande union() sert à grouper tus les éléments qui seront affectés par l'instruction translate qui les précède et qui mettra tous les éléments à leur bonne place.

Pour visualiser le résultat de tout le programme appelez : bague();