Creation d'un dé

De Wiki L.A.B
Aller à : navigation, rechercher

Présentation et objectifs

Ce tutoriel a pour but de faire fabriquer un de a jouer avec OpenScad qui soit complètement paramétrique.

Pré-requis

Avant de faire ce tutoriel, il faut comprendre la logique d'utilisation d'OpenSCAD. Si vous n'avez jamais ouvert ce logiciel, vous pouvez suivre le tutoriel suivant :


Etapes

Première Etape

Nous allons commencer par déclarer un des variables, la taille du cube, la taille des points dans le de, et la position centrée de chaque face.

Commande :

coteDe=9;

tPts=1;

posCote1=([0,-5,0]); //position centrale cote 1

posCote2=([5,0,0]); //position centrale cote 2

posCote3=([0,5,0]); //position centrale cote 3

posCote4=([-5,0,0]);  //position centrale cote 4

posCote5=([0,0,5]);

posCote6=([0,0,-5]);

Comme vous pouvez le voir j'ai appelé cote du carre "coteDe", la taille des points "tPts" et la position de chaque cote et tournant vers la droite, puis la face du dessus et celle du dessous posCote1, posCote2 ...

Remarque : Vous avez peut être remarque que le placement des sphères n'est pas bon car elles sont trop éloignées par rapport au cube, rassurez vous, le cube gagnera en épaississeur plus tard grâce a la fonction Minkowski.

Deuxieme Etape

Nous allons maintenant declarer des modules, un cube avec la valeur "coteDe" et center = true, puis pour chaque face du de un module qui effectuera un "translate" sur une sphere de taille "tPts" a l'emplacement (posCote1, posCote2 ... ) correspondant.


Commande :

module cube1() {cube(coteDe, true);}


module cote1() {translate(posCote1) sphere(tPts);} //place sphere

module cote2() {translate(posCote2) sphere(tPts);} //au centre de

module cote3() {translate(posCote3) sphere(tPts);} //la face

module cote4() {translate(posCote4) sphere(tPts);} //correspondante

module cote5() {translate(posCote5) sphere(tPts);}

module cote6() {translate(posCote6) sphere(tPts);}


Et finalement nous allons appeler notre cube

Commande : Cube1();


Troisième Etape

Maintenant que notre cube est place, nous avons déclaré une variable pour chaque point central de chaque face de notre cube, et nous déclaré un module qui place une sphère sur chaque face, nous allons pouvoir commencer a y placer les sphères manquantes.

Pour ce faire j'ai nomme chaque point pouvant apparaître sur un de de 1 a 7 de façon horizontale de droite a gauche.

Ensuite il faut créer pour chaque face un module qui appliquera un "translate" a la sphère placée au centre.


Commande : module face1() {

translate([-3,0,3]) cote1(); //point 1
translate([3,0,3]) cote1();  //point 2
translate([-3,0,0]) cote1(); //point 3
//cote1();                   //point 4
translate([3,0,0]) cote1();  //point 5
translate([-3,0,-3]) cote1();   //point 6
translate([3,0,-3]) cote1();  //point 7
}

J'ai décidé de placer la face 6 sur ce cote donc j'ai commente le point 4 qui aurait été place au centre.


Il faut donc répéter cette procédure pour chaque face du de en prenant soin de commenter les les sphères n'ayant pas besoin d’apparaître sur le de.

Conseil : - La somme des faces opposes d'un de vaut toujours 7.

Quatrieme Etape

Pour aue notre cube soit un peu plus arrondi nous devons utiliser la fonction "minkowski" sur le cube.

Pour ce faire commencez par declarer un module sphere, Commande :

module sphere1() {sphere(1);}

Puis appliquez "minkowski au cube et a la sphere, Commande :

minkowski() { cube1(); sphere1(); }

Cinquieme Etape

Si vous avez correctement declare l'ensemble de vos modules sans oublier de les appeler apres vous devriez avoir un cube avec des demies-spheres aui apparaissent un peu de chaque cote.

Il faut maintenant appliquer la fonction difference() Nous allons soustraire toutes les spheres au cube.

Commande : difference() {

   cube1();
   face1();
   face2();
   face3();
   face4();
   face5();
   face6();

}

Rajoutez en dernier la fonction "$fn" avec une valeur de 50 pour aue l'emsemble de votre figure soit arrondie.

Conclusion

Vous avez maintenant complété votre de.