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.

65 line
1.6KB

  1. $fn = $preview? 32 : 50;
  2. sg90_length = 22.2;
  3. sg90_width = 11.8;
  4. sg90_flange_pos = 15.9;
  5. sg90_flange_thinkness = 2.5;
  6. sg90_flange_length = 5;
  7. sg90_flange_hole_pos = 2.7;
  8. sg90_flange_hole_bore = 2;
  9. module sg90(){
  10. translate([0,0,-sg90_flange_pos+7]) {
  11. color("steelblue") import("SG90_v7.stl");
  12. }
  13. }
  14. module sg90_bracket_halve(){
  15. thinkness = 5;
  16. translate([0,0,-thinkness]) difference(){
  17. cube([sg90_width,sg90_flange_length,thinkness]);
  18. translate([sg90_width/2,sg90_flange_hole_pos,-1]) cylinder(d=sg90_flange_hole_bore,h=thinkness+2);
  19. }
  20. }
  21. module sg90_bracket(){
  22. hull(){
  23. translate([-2,-2,0]) cube([2,27.8,13]);
  24. translate([-5,-2,8]) cube([5,27.8,5]);
  25. }
  26. translate([-2,-2,0]) cube([16,2,7]);
  27. translate([-2,23.8,0]) cube([16,2,7]);
  28. translate([-2,23.8,9.5]) cube([4,2,3.5]);
  29. translate([-2,-2,9.5]) cube([4,2,3.5]);
  30. difference(){
  31. translate([13,-2,0]) cube([1.5,27.8,7]);
  32. translate([17.8,11.9,4]) rotate([0,0,45]) cube([20,20,10],center=true);
  33. }
  34. //import("servo-halter-sg90-1.stl");
  35. }
  36. /* translate([0,0,sg90_flange_pos]) {
  37. translate([0,-sg90_flange_length,0]) sg90_bracket_halve();
  38. translate([0,sg90_length,0]) sg90_bracket_halve();
  39. }*/
  40. sg90();
  41. sg90_arm(21,135);
  42. sg90_bracket();
  43. module sg90_arm(length, rot){
  44. translate([5.9,16.3,19.5]) rotate([0,180,rot]) difference(){
  45. union(){
  46. translate([0,0,-0.5]) cylinder(d=9,h=3.5,center=true);
  47. hull(){
  48. cylinder(d=9,h=2.5,center=true);
  49. translate([0,-length,0]) cylinder(d=5,h=2.5,center=true);
  50. }
  51. }
  52. cylinder(d=2.8,h=8,center=true);
  53. translate([0,0,0.5]) cylinder(d=4.8,h=3.5,center=true);
  54. translate([0,-length,0]) cylinder(d=2,h=8,center=true);
  55. }
  56. }