67: create 3D tokens for jacopad

This commit is contained in:
Christian Jacolot 2024-04-25 16:59:33 +02:00
parent 041307a28c
commit 8181556898

View File

@ -0,0 +1,86 @@
BASE_LARGEUR=35;
BASE_HAUTEUR=20;
BASE_EPAISSEUR=5;
BASE_TRIANGLE=20;
RESISTANCE_HAUTEUR=14;
RESISTANCE_LARGEUR=5;
RESISTANCE_EPAISSEUR=3;
PICOT_DIAMETER=3;
PICOT_POSITION_HAUTEUR=18;
PICOT_HAUTEUR=2;
PICOT_1_LARGEUR=6;
//avance=[[0,0], [round(BASE_LARGEUR/2),20], [BASE_LARGEUR,0]];
avance=[[0,0], [17.5,20], [35,0]];
avance_path=[0, 1, 2];
difference() {
union() {
// cube de base
cube([BASE_LARGEUR, BASE_HAUTEUR, BASE_EPAISSEUR]);
// forme
translate([0, BASE_HAUTEUR,0]) {
linear_extrude(height=BASE_EPAISSEUR) {
polygon(points=avance); //, paths=avance_path);
}
}
// deux picots
translate([PICOT_1_LARGEUR, PICOT_POSITION_HAUTEUR, BASE_EPAISSEUR]) {
cylinder(h=PICOT_HAUTEUR, d1=PICOT_DIAMETER, d2=PICOT_DIAMETER-1, $fn=20);
}
translate([BASE_LARGEUR-PICOT_1_LARGEUR, PICOT_POSITION_HAUTEUR, BASE_EPAISSEUR]) {
cylinder(h=PICOT_HAUTEUR, d1=PICOT_DIAMETER, d2=PICOT_DIAMETER-1, $fn=20);
}
}
translate([(BASE_LARGEUR/2)-(RESISTANCE_HAUTEUR/2),9,2]) {
cube([RESISTANCE_HAUTEUR, RESISTANCE_LARGEUR, RESISTANCE_EPAISSEUR + 1]);
}
}
CLIP_RAYON=17.5;
CLIP_EPAISSEUR=2.5;
RES_PATTE_RAYON=0.90;
RES_PATTE_EPAISSEUR=4;
#translate([BASE_LARGEUR/2, BASE_HAUTEUR, BASE_EPAISSEUR]) {
difference() {
cylinder(h=CLIP_EPAISSEUR,r=CLIP_RAYON, $fn=60);
translate([-CLIP_RAYON, 0,-1]) {
cube([CLIP_RAYON*2, CLIP_RAYON, CLIP_EPAISSEUR+2]);
}
// deux trous picots
translate([-(BASE_LARGEUR/2) + PICOT_1_LARGEUR,
-BASE_HAUTEUR + PICOT_POSITION_HAUTEUR, -0.5]) {
cylinder(h=CLIP_EPAISSEUR, d=PICOT_DIAMETER, $fn=20);
}
translate([(BASE_LARGEUR/2) - PICOT_1_LARGEUR,
-BASE_HAUTEUR + PICOT_POSITION_HAUTEUR, -0.5]) {
cylinder(h=CLIP_EPAISSEUR, d=PICOT_DIAMETER, $fn=20);
}
// trou pour l'aimant
translate([0, -2, -0.5]) {
cylinder(h=CLIP_EPAISSEUR, d=PICOT_DIAMETER, $fn=20);
}
// autre trou pour l'aimant
translate([0, -BASE_HAUTEUR + 5, -0.5]) {
cylinder(h=CLIP_EPAISSEUR, d=PICOT_DIAMETER, $fn=20);
}
// trous pour la résistance
translate([-5, -4, -0.5]) {
cylinder(h=RES_PATTE_EPAISSEUR, d=RES_PATTE_RAYON, $fn=20);
}
translate([ 5, -4, -0.5]) {
cylinder(h=RES_PATTE_EPAISSEUR, d=RES_PATTE_RAYON, $fn=20);
}
translate([-5, -8.5, -0.5]) {
cylinder(h=RES_PATTE_EPAISSEUR, d=RES_PATTE_RAYON, $fn=20);
}
translate([ 5, -8.5, -0.5]) {
cylinder(h=RES_PATTE_EPAISSEUR, d=RES_PATTE_RAYON, $fn=20);
}
}
}