Quellcode durchsuchen

ready to test print gimbal test, need to add microphone clip

Wisam Reid vor 10 Jahren
Ursprung
Commit
239babb486
1 geänderte Dateien mit 75 neuen und 30 gelöschten Zeilen
  1. 75 30
      calibration/test_rig_gimbal_clip.scad

+ 75 - 30
calibration/test_rig_gimbal_clip.scad

@@ -2,35 +2,56 @@
         [Gimbal Mic Clip] 
         Author: Wisam Reid 
   ------------------------------------------------- */ 
+/*
+Flags 
+*/
+render_clip = 1;
+render_gimbal_bracket = 1;
+render_capsule_holder = 1;
+
 
 // number of facets
 $fn=64;
 
 // Build Test Rig
-test_rig(20,20,20,1,10,1,5);
+test_rig(20,20,20,1,10,1,5, 0.25, 0.15);
 
-module test_rig (diameter_clip, diameter_gimbal, clip_depth, taper_ratio, capsule_size,center_thickness, thickness) {
+module test_rig (diameter_clip, diameter_gimbal, clip_depth, taper_ratio, capsule_size,center_thickness, thickness, gimbal_spacing, pin_spacing) {
     translate([((thickness) + center_thickness)/2,0,0]) {
-      // GIMBAL 
+      // CAPSULE HOLDER
       difference(){ // cutout center for capsule
             // outer part of mic clip
-            //translate([-(diameter_clip+thickness)/2,0,0]){
-            translate([-(clip_depth + (diameter_gimbal/2)),0,0]){
-                    intersection() { // intersect with sphere for rounded edges
-                        sphere(r=(capsule_size/2)+thickness, center=true);
-                        cylinder(r=(capsule_size/2)+thickness, h=thickness, center=true);
+            union(){ // unite pin and capsule holder
+                translate([-(clip_depth + (diameter_gimbal/2)),0,0]){
+                        intersection() { // intersect with sphere for rounded edges
+                            sphere(r=((capsule_size/2)+thickness)- gimbal_spacing, center=true);
+                            cylinder(r=((capsule_size/2)+thickness) - gimbal_spacing, h=thickness, center=true);
+                        }
+                }
+                // pin
+                rotate([90,0,0]){
+                        translate([-(clip_depth + (diameter_gimbal/2)),0,0]){
+                            cylinder(d=(thickness/2) - pin_spacing,h=diameter_gimbal + (thickness/2) - pin_spacing,center=true);
+                        }
+                }
+             }
+            rotate([90,0,0]){
+                translate([-(clip_depth + (diameter_gimbal/2)),0,0]){
+                    rotate(v=[0,0,1], a=45){
+                        cube(size=[(thickness/4), (thickness/4),diameter_gimbal + (thickness/2) - (pin_spacing*2)],center=true);
                     }
+                }
             }
-      
             // inner cutout for gimbal
             translate([-(clip_depth + (diameter_gimbal/2)),0,0]){
                 cylinder(d=capsule_size,h=diameter_clip, center=true);
             }
         }
+            
+        // GIMBAL BRACKET
         difference(){ // cut gimbal pinhole and inner mic clip radius
             union(){ // unite gimbal bracket with mic clip
-                
-              // GIMBAL BRACKET
+           
               translate([-(thickness/(taper_ratio/2)),0,0]){
                     difference(){ // cutout inner part of gimbal bracket
                         intersection(){ // intersect with sphere for rounded edges
@@ -63,36 +84,60 @@ module test_rig (diameter_clip, diameter_gimbal, clip_depth, taper_ratio, capsul
                         }
                     } 
                 }
-                
-                // MIC CLIP 
-                rotate([0,0,180]){
-                    translate([thickness/2,0,0]){
-                        difference(){ // cutout inner part of mic clip
-                            // outer part of mic clip
-                            translate([-(diameter_clip+thickness)/2,0,0]){
-                                rotate([0,0,180]){
-                                    intersection() { // intersect with sphere for rounded edges
-                                        sphere(r=diameter_clip-thickness, center=true);
-                                        cylinder(r=diameter_clip-thickness, h=thickness, center=true);
+                if (render_clip)
+                    // MIC CLIP 
+                    rotate([0,0,180]){
+                        translate([thickness/2,0,0]){
+                            difference(){ // cutout inner part of mic clip
+                                // outer part of mic clip
+                                translate([-(diameter_clip+thickness)/2,0,0]){
+                                    rotate([0,0,180]){
+                                        intersection() { // intersect with sphere for rounded edges
+                                            sphere(r=diameter_clip-thickness, center=true);
+                                            cylinder(r=diameter_clip-thickness, h=thickness, center=true);
+                                        }
+                                        // cylinder(d=diameter_clip+thickness,h=thickness, center=true);
                                     }
-                                    // cylinder(d=diameter_clip+thickness,h=thickness, center=true);
                                 }
+                                // cut clip opening 
+                                translate([-(diameter_clip*1.5),-(diameter_clip/1.4),-(diameter_clip*3)]){
+                                    rotate([0,0,45]){
+                                        cube([diameter_clip,diameter_clip,6*diameter_clip]);
+                                    }
+                                }     
                             }
-                            // cut clip opening 
-                            translate([-(diameter_clip*1.5),-(diameter_clip/1.4),-(diameter_clip*3)]){
-                                rotate([0,0,45]){
-                                    cube([diameter_clip,diameter_clip,6*diameter_clip]);
-                                }
-                            }     
                         }
                     }
+                // gimbal rotation stopper    
+                intersection(){ // intersect with sphere for rounded edges
+                    hull(){ // convex hull of spheres
+                        translate([-2*clip_depth,0,0]){
+                            sphere(r=(diameter_gimbal/taper_ratio)-thickness, center=true);  
+                        }
+                        sphere(r=(diameter_gimbal/taper_ratio)-2*thickness, center=true);  
+                    }
+                    // rotation stopper
+                    rotate([90,0,0]){
+                        translate([-(clip_depth + (diameter_gimbal/2)) + (thickness/4),thickness/2 + thickness/15,(diameter_gimbal + (thickness/2))/2 - ((0.8*thickness) /3)]){
+                            union(){ // create small hold off
+                                rotate([0,5,0]){
+                                    cube([(thickness/2),(thickness/10),0.8*thickness], center=true);        
+                                    translate([0,-thickness/40,0.2*thickness]){ // offset
+                                        cube([(thickness/2),(thickness/10),0.4*thickness], center=true);
+                                    }
+                                }
+                            }
+                        }
+                    } 
                 }
             }
-            
+                
+            // CUT OUTS   
             // inner cutout for mic clip
             translate([diameter_clip/2,0,0]){
                 cylinder(d=diameter_clip,h=diameter_clip, center=true);
             }
+          
             // gimbal pin hole
             translate([-(clip_depth + (diameter_gimbal/2)),0,0]){            
                 rotate([90,0,0]){