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.

GoPro Screw.scad 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * Created by:
  3. * Thomas Buck <xythobuz@xythobuz.de> in June 2016
  4. *
  5. * Licensed under the
  6. * Creative Commons - Attribution - Share Alike license.
  7. */
  8. // -----------------------------------------------------------
  9. d_min = 8.7;
  10. d_max = 9.2;
  11. d_inner = 5.5;
  12. d_outer = 14;
  13. d_grip = 11;
  14. w_grip = 20;
  15. h_top = 5;
  16. h_mid = 35;
  17. h_bottom = 10;
  18. sphere_ratio = 1.25;
  19. grip_ratio = 1.75;
  20. grip_angle = 20;
  21. $fn = 20;
  22. // -----------------------------------------------------------
  23. difference() {
  24. union() {
  25. difference() {
  26. intersection() {
  27. translate([-w_grip / 2, -w_grip / 2, 0])
  28. cube([w_grip, w_grip, h_bottom]);
  29. sphere(d = w_grip * sphere_ratio);
  30. }
  31. for(angle = [0, 90, 180, 270]) {
  32. rotate([0, 0, angle])
  33. translate([0, -w_grip / grip_ratio, -w_grip / 4])
  34. rotate([grip_angle, 0, 0])
  35. cylinder(d = h_bottom, h = h_bottom + (w_grip / 2));
  36. }
  37. }
  38. translate([0, 0, h_bottom])
  39. cylinder(d = d_outer, h = h_mid + h_top);
  40. }
  41. translate([0, 0, -1])
  42. cylinder(d = d_grip, h = h_bottom + 1);
  43. translate([0, 0, h_bottom - 1])
  44. cylinder(d1 = d_max, d2 = d_min, h = h_mid + 1, $fn = 6);
  45. translate([0, 0, h_bottom + h_mid - 1])
  46. cylinder(d = d_inner, h = h_top + 2);
  47. }