== Expérimentations ==
J'ai tout d'abord tenté de réalisé un disque en utilisant la RepRapPrussa de PiNG ainsi qu'openScad pour créer la forme initiale.
<code>rayonDisque=60.5;
paroi = 0.5;
$fn = 75; // pour affiner les contours (nbr de facettes) dans tout le prog
// méthode pour construire les 11 pistes
module piste(rayon){
translate([0,0,3]){
difference(){
cylinder(r=rayon, h=2);
cylinder(r=(rayon-paroi), h=2.1);
}
}
// on tire des valeurs aléatoires entre 0 et 360 degré
randomVal = rands(0, 360, 6, rayon);
randomVal2 = rands(0, 360, 6, rayon+2);
// je place des dents de façon aléatoire
for( i = [0 : 5]){
dents(rayon, randomVal[i]); //dent d'un côté de la piste
dents(rayon-1.4, randomVal2[i]); //dent de l'autre côté
echo(randomVal[i]);
}
}
module dents(xPos, angle){
color([255,0,0]){
rotate(a=[0,0,angle]){
translate([xPos, 0, 3]){
cube([1.4, 1, 2]);
}
}
}
echo( "Random Vector: ",angle, "xPos: ", xPos);
}
//----------------------------------------------------------
difference(){
union(){
// le disque principal
cylinder(r=rayonDisque,h=3);
// l'anneau extérieur
translate([0,0,3]){
difference(){
cylinder(r=rayonDisque, h=2);
cylinder(r=(rayonDisque-2.4), h=2.1);
}
}
// l'anneau intérieur
translate([0,0,3]){
difference(){
cylinder(r=26.7, h=2);
cylinder(r=(26.7-2.4), h=2.1);
}
}
// on execute la méthode piste avec une boucle
for (i = [58.1 : 2.9 : 29.59]) {
piste(i);
}
}
// les perçage du milieu
union(){
cylinder(r=3.2, h=8, center=true);
translate([21, 0, 0]){
cylinder(r=1.3, h=8, center=true);
}
translate([0, 21, 0]){
cylinder(r=1.3, h=8, center=true);
}
translate([-21, 0, 0]){
cylinder(r=1.3, h=8, center=true);
}
translate([0, -21, 0]){
cylinder(r=1.3, h=8, center=true);
}
}
}
</code>