Kaynağa Gözat

Refactored test_rig, now a fully parameterized module

Wisam Reid 11 yıl önce
ebeveyn
işleme
d749aacadc
1 değiştirilmiş dosya ile 58 ekleme ve 53 silme
  1. 58 53
      calibration/test_rig_gimbal_clip.scad

+ 58 - 53
calibration/test_rig_gimbal_clip.scad

@@ -3,68 +3,73 @@
         Author: Wisam Reid 
   ------------------------------------------------- */ 
 
-// Diameter for the clip ring
-diameter_clip= 20;
-// Diameter for the gimbal ring
-diameter_gimbal= 30;
-// Diameter for center
-diameter_center=25;
-
-thickness=5;
-
-// diameter for gimbal pinhole
-diameter_pinhole=1;// "0" for no-hole.
-
 // number of facets
 $fn=64;
 
-// Build Gimbal Clip
-translate([thickness,0,0]) 
-// subtract center material over hang from mic clip
-difference(){
-    // unite gimbal bracket with mic clip
-    union(){
-        // gimbal bracket (holds )
-        translate([-thickness,0,0])
-        // make hole for gimbal pinhole
-        difference(){
-            union(){
-                difference(){
-                    difference(){
-                        hull(){
-                        translate([-diameter_gimbal*2,0,0])cylinder(d=diameter_gimbal,h=thickness, center=true);
-                        cylinder(d=diameter_clip/1.5,h=thickness, center=true);
+test_rig(20,20,20,1,1,5);
+
+module test_rig (diameter_clip, diameter_gimbal, clip_depth, taper_ratio, center_thickness, thickness) {
+    // Build Gimbal Clip
+    translate([((thickness) + center_thickness)/2,0,0]) {
+        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
+                        hull(){ // outer part of gimbal bracket
+                            translate([-clip_depth,0,0]){
+                                cylinder(d=diameter_gimbal+thickness,h=thickness, center=true);
+                            }
+                            cylinder(d=diameter_gimbal/taper_ratio,h=thickness, center=true);
                         }
-                        hull(){
-                        translate([-diameter_gimbal*2,0,0])cylinder(d=diameter_gimbal - thickness,h=thickness, center=true);
-                        translate([-thickness*1.5,0,0])cylinder(d=(diameter_clip/1.5) - thickness,h=thickness, center=true);
+                        hull(){ // inner cutout for gimbal bracket
+                            translate([-clip_depth,0,0]){
+                                cylinder(d=diameter_gimbal,h=thickness, center=true);
+                            }
+                            translate([-(center_thickness+thickness),0,0]){
+                                cylinder(d=(diameter_gimbal/taper_ratio) - thickness,h=thickness,                                   center=true);
+                            }
                         }
-                    }
-                    translate([-diameter_gimbal*2.5,0,0])cylinder(d=diameter_gimbal,h=thickness, center=true);
+                        // C-shape cutout
+                        translate([-(diameter_gimbal+clip_depth)+(thickness/(taper_ratio/2)),0,-                              thickness/2]){
+                            rotate([0,0,45]){
+                                cube([diameter_gimbal,diameter_gimbal,2*thickness],center=true);
+                            }
+                        }
+                    } 
                 }
-                // center
-                difference(){
-                    difference(){
-                        cylinder(d=(diameter_center) - thickness,h=thickness, center=true);
-                        translate([-(diameter_center+thickness)*1.25,-(diameter_center/2),-thickness/2])cube([diameter_center,diameter_center,thickness]);
+                
+                // 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]){
+                                    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                                  ]);
+                                }
+                            }     
+                        }
                     }
-                    translate([-(diameter_clip+thickness)/1.75,0,0])cylinder(d=(diameter_clip) - thickness,h=thickness, center=true);
                 }
-                //translate([-(diameter_clip/2),0,0])cylinder(d=(diameter_clip) - thickness,h=thickness, center=true);
             }
-        // gimbal pinhole
-        translate([-(diameter_gimbal*3)+thickness,0,0])rotate([90,0,0])cylinder(d=thickness/2,h=            diameter_gimbal+(thickness*.75), center=true);
-        }
-        // mic clip 
-        rotate([0,0,180])translate([thickness/2,0,0])
-        difference(){
-            translate([-(diameter_clip+thickness)/2,0,0])rotate([0,0,180])cylinder(d=diameter_clip+thickness,h=thickness, center=true);
-            // vertical ring cut out
-            translate([-(diameter_clip+thickness)/2,0,0])rotate([0,0,180])cylinder(d=diameter_clip,h=diameter_clip, center=true);
-            translate([-(diameter_clip*1.5),-(diameter_clip/1.4),-(diameter_clip*3)])rotate([0,0,45])cube([diameter_clip,diameter_clip,6*diameter_clip]);     
+            
+            // 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]){
+                    cylinder(d=thickness/2,h=diameter_gimbal + (thickness/2), center=true);
+                }
+            }
         }
     }
-    translate([diameter_clip/2,0,0])cylinder(d=diameter_clip,h=diameter_clip, center=true);
-    // pin hole
-    translate([-(diameter_gimbal)*2.35+thickness,0,0])rotate([90,0,0])cylinder(d=thickness/2,h=diameter_gimbal-(thickness*0.75), center=true); 
 }