| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- /*-------------------------------------------------
- [Gimbal Mic Clip]
- Author: Wisam Reid
- ------------------------------------------------- */
- // number of facets
- $fn=64;
- // Build Test Rig
- test_rig(20,20,20,1,10,1,5);
- module test_rig (diameter_clip, diameter_gimbal, clip_depth, taper_ratio, capsule_size,center_thickness, thickness) {
- translate([((thickness) + center_thickness)/2,0,0]) {
- // GIMBAL
- 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);
- }
- }
-
- // inner cutout for gimbal
- translate([-(clip_depth + (diameter_gimbal/2)),0,0]){
- cylinder(d=capsule_size,h=diameter_clip, center=true);
- }
- }
- 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
- 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);
- }
- 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(){ // 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);
- }
- }
- // 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);
- }
- }
- }
- }
-
- // 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);
- }
- }
- // 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]);
- }
- }
- }
- }
- }
- }
-
- // 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);
- }
- }
- }
- }
- }
|