symbole.scad 943 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. $fn=100;
  2. function points(rayon, angle) = [rayon*cos(angle), rayon*sin(angle)];
  3. module triangle(rayon)
  4. {polygon([points(rayon, -30), points(rayon, 90), points(rayon, 210)]);}
  5. module triangle_arrondi(rayon)
  6. {
  7. minkowski()
  8. {
  9. triangle(rayon);
  10. circle(rayon/5);
  11. }
  12. }
  13. module symbole(taille, numero, texte)
  14. {
  15. union()
  16. {
  17. difference()
  18. {
  19. offset(r = taille/5)
  20. {triangle_arrondi(taille);}
  21. triangle_arrondi(taille);
  22. for(i=[0:2])
  23. {
  24. rotate([0, 0, 30 + i*120])
  25. {
  26. translate([taille/2 + taille/5 - 0.1, -taille/5, 0])
  27. {square([taille/5 + 0.2, 2*taille/5]);}
  28. }
  29. }
  30. }
  31. for(i=[0:2])
  32. {
  33. rotate([0, 0, 30 + i*120])
  34. {
  35. translate([12*taille/15, taille/8, 0])
  36. {
  37. rotate([0, 0, 60])
  38. {triangle(taille/3);}
  39. }
  40. }
  41. }
  42. text(numero, valign="center", halign="center", size=taille/1.4);
  43. translate([0, -6*taille/5, 0])
  44. {text(texte, valign="top", halign="center", size=taille/1.4);}
  45. }
  46. }