test_rig_gimbal_clip.scad 4.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /*-------------------------------------------------
  2. [Gimbal Mic Clip]
  3. Author: Wisam Reid
  4. ------------------------------------------------- */
  5. // number of facets
  6. $fn=64;
  7. // Build Test Rig
  8. test_rig(20,20,20,1,1,5);
  9. module test_rig (diameter_clip, diameter_gimbal, clip_depth, taper_ratio, center_thickness, thickness) {
  10. translate([((thickness) + center_thickness)/2,0,0]) {
  11. difference(){ // cut gimbal pinhole and inner mic clip radius
  12. union(){ // unite gimbal bracket with mic clip
  13. // GIMBAL BRACKET
  14. translate([-(thickness/(taper_ratio/2)),0,0]){
  15. difference(){ // cutout inner part of gimbal bracket
  16. intersection(){ // intersect with sphere for rounded edges
  17. hull(){ // convex hull of spheres
  18. translate([-2*clip_depth,0,0]){
  19. sphere(r=(diameter_gimbal/taper_ratio)-thickness, center=true);
  20. }
  21. sphere(r=(diameter_gimbal/taper_ratio)-2*thickness, center=true);
  22. }
  23. hull(){ // outer part of gimbal bracket
  24. translate([-clip_depth,0,0]){
  25. cylinder(d=diameter_gimbal+thickness,h=thickness, center=true);
  26. }
  27. cylinder(d=diameter_gimbal/taper_ratio,h=thickness, center=true);
  28. }
  29. }
  30. hull(){ // inner cutout for gimbal bracket
  31. translate([-clip_depth,0,0]){
  32. cylinder(d=diameter_gimbal,h=thickness, center=true);
  33. }
  34. translate([-(center_thickness+thickness),0,0]){
  35. cylinder(d=(diameter_gimbal/taper_ratio) - thickness,h=thickness,center=true);
  36. }
  37. }
  38. // C-shape cutout
  39. translate([-(diameter_gimbal+clip_depth)+(thickness/(taper_ratio/2)),0,-thickness/2]){
  40. rotate([0,0,45]){
  41. cube([diameter_gimbal,diameter_gimbal,2*thickness],center=true);
  42. }
  43. }
  44. }
  45. }
  46. // MIC CLIP
  47. rotate([0,0,180]){
  48. translate([thickness/2,0,0]){
  49. difference(){ // cutout inner part of mic clip
  50. // outer part of mic clip
  51. translate([-(diameter_clip+thickness)/2,0,0]){
  52. rotate([0,0,180]){
  53. intersection() { // intersect with sphere for rounded edges
  54. sphere(r=diameter_clip-thickness, center=true);
  55. cylinder(r=diameter_clip-thickness, h=thickness, center=true);
  56. }
  57. // cylinder(d=diameter_clip+thickness,h=thickness, center=true);
  58. }
  59. }
  60. // cut clip opening
  61. translate([-(diameter_clip*1.5),-(diameter_clip/1.4),-(diameter_clip*3)]){
  62. rotate([0,0,45]){
  63. cube([diameter_clip,diameter_clip,6*diameter_clip]);
  64. }
  65. }
  66. }
  67. }
  68. }
  69. }
  70. // inner cutout for mic clip
  71. translate([diameter_clip/2,0,0]){
  72. cylinder(d=diameter_clip,h=diameter_clip, center=true);
  73. }
  74. // gimbal pin hole
  75. translate([-(clip_depth + (diameter_gimbal/2)),0,0]){
  76. rotate([90,0,0]){
  77. cylinder(d=thickness/2,h=diameter_gimbal + (thickness/2), center=true);
  78. }
  79. }
  80. }
  81. }
  82. }