123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- $fn=100;
- function points(rayon, angle) = [rayon*cos(angle), rayon*sin(angle)];
- module triangle(rayon)
- {polygon([points(rayon, -30), points(rayon, 90), points(rayon, 210)]);}
- module triangle_arrondi(rayon)
- {
- minkowski()
- {
- triangle(rayon);
- circle(rayon/5);
- }
- }
- module symbole(taille, numero, texte)
- {
- union()
- {
- difference()
- {
- offset(r = taille/5)
- {triangle_arrondi(taille);}
- triangle_arrondi(taille);
- for(i=[0:2])
- {
- rotate([0, 0, 30 + i*120])
- {
- translate([taille/2 + taille/5 - 0.1, -taille/5, 0])
- {square([taille/5 + 0.2, 2*taille/5]);}
- }
- }
- }
- for(i=[0:2])
- {
- rotate([0, 0, 30 + i*120])
- {
- translate([12*taille/15, taille/8, 0])
- {
- rotate([0, 0, 60])
- {triangle(taille/3);}
- }
- }
- }
- text(numero, valign="center", halign="center", size=taille/1.4);
- translate([0, -6*taille/5, 0])
- {text(texte, valign="top", halign="center", size=taille/1.4);}
- }
- }
|