My self-made 3D-printable designs, mainly in OpenSCAD
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

deckel-zerfass.scad 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. inner_dia = 78;
  2. outer_dia = 89;
  3. lower_hei = 3;
  4. upper_hei = 5;
  5. letter_text_top = "DrinkRobotics.de";
  6. letter_text_bot = "UbaBot";
  7. letter_height = 10;
  8. letter_off = 8;
  9. letter_space = 1.2;
  10. letter_depth = 3;
  11. letter_font = "orbitron.dxf";
  12. logo_width = 50;
  13. logo_depth = 3;
  14. logo_path = "logo-marvin.png";
  15. logo_width_px = 140;
  16. logo_scale = logo_width / logo_width_px;
  17. print = false;
  18. stl_part_b = false;
  19. $fn = 50;
  20. use <Write.scad>
  21. module logo(add_height = 1) {
  22. linear_extrude(height = logo_depth + add_height)
  23. projection(cut = true)
  24. scale([logo_scale, logo_scale, 1])
  25. translate([-logo_width_px / 2, -logo_width_px / 2, 100 - 0.5])
  26. surface(file=logo_path, invert=true);
  27. }
  28. module deckel_beauties(add_height = 1) {
  29. translate([0, 0, upper_hei - letter_depth / 2])
  30. writecircle(letter_text_top, [0,0,0], outer_dia / 2 - letter_off, h=letter_height, t=letter_depth + add_height, space=letter_space, font=letter_font);
  31. translate([0, 0, upper_hei - letter_depth / 2])
  32. writecircle(letter_text_bot, [0,0,0], outer_dia / 2 - letter_off, h=letter_height, t=letter_depth + add_height, space=letter_space, ccw=true, font=letter_font);
  33. translate([0, 0, upper_hei - logo_depth])
  34. logo(add_height);
  35. }
  36. module deckel(print_b = false) {
  37. if (print_b) {
  38. translate([0, 0, lower_hei])
  39. deckel_beauties(0);
  40. } else {
  41. color("red")
  42. cylinder(d = inner_dia, lower_hei);
  43. color("green")
  44. translate([0, 0, lower_hei])
  45. difference() {
  46. cylinder(d = outer_dia, upper_hei);
  47. deckel_beauties(1);
  48. }
  49. }
  50. }
  51. if (print) {
  52. translate([0, 0, lower_hei + upper_hei])
  53. rotate([0, 180, 0])
  54. union() {
  55. deckel(stl_part_b);
  56. }
  57. } else {
  58. deckel(false);
  59. %color("white")
  60. deckel(true);
  61. }