Procházet zdrojové kódy

fix slot depth in connect==1, I was missing the depth of the wall of the cylinder, start working on new mount model

Fernando Pablo Lopez-Lezcano před 11 roky
rodič
revize
59d1f28f62
1 změnil soubory, kde provedl 27 přidání a 21 odebrání
  1. 27 21
      first_order.scad

+ 27 - 21
first_order.scad

@@ -42,7 +42,7 @@ leg_width = 4;
 leg_thick = 2.5;
 
 // width of the ridge that connects to the mount
-ridge_width = 2;
+ridge_width = 1.5;
 ridge_length = 2;
 
 // wall thickness of capsule holder
@@ -140,7 +140,7 @@ module capsule (azimuth, elevation, mounts, twist, ridge) {
 								// connect with horizontal legs
 								if (connect == 1) {
                                     leg_length = (mic_radius - capsule_height + leg_thick) * tan(90 - angles[1]) - capsule_radius;
-                                    slot_depth = leg_thick * cos(90 - 2 * angles[1]) + fit;
+                                    slot_depth = leg_thick * cos(90 - 2 * angles[1]) + wall + fit;
 									translate([capsule_radius + leg_length + fudge, - leg_width / 3, 0]) {
 										rotate([0, -90, 0]) {
 											difference() {
@@ -174,7 +174,10 @@ module capsule (azimuth, elevation, mounts, twist, ridge) {
 						// add ridges for microphone mount
 						if (ridge == 1) {
 							rotate([0, 0, twist]) {
-								translate([capsule_radius + fudge, - wall , 0]) {
+								translate([capsule_radius + fudge, - 1.5 * ridge_width , 0]) {
+                                    cube([ridge_length, ridge_width, capsule_height], center = false);
+								}
+								translate([capsule_radius + fudge, 0.5 * ridge_width , 0]) {
                                     cube([ridge_length, ridge_width, capsule_height], center = false);
 								}
 							}
@@ -207,16 +210,16 @@ module mount (angles, wall, separation) {
 		difference() {
 			union() {
 				// grips for the capsule holder ridge
-				for (rot = angles) {
-					rotate([0, 0, rot]) {
-						translate([-capsule_sep_max, -(ridge_width - fit / 2), -mount_height]) {
-							cube([capsule_sep_max, ridge_width * 2 - fit, mount_height]);
-                            rotate([0, -elev_angle, 0]) {
-                                cube([capsule_sep_max, ridge_width * 2 - fit, mount_height * cos(elev_angle)]);
-                            }
-						}
-					}
-				}
+//				for (rot = angles) {
+//					rotate([0, 0, rot]) {
+//						translate([-capsule_sep_max, -(ridge_width - fit / 2), -mount_height]) {
+//							cube([capsule_sep_max, ridge_width * 2 - fit, mount_height]);
+//                            rotate([0, -elev_angle, 0]) {
+//                                cube([capsule_sep_max, ridge_width * 2 - fit, mount_height * cos(elev_angle)]);
+//                            }
+//						}
+//					}
+//				}
 				translate([0, 0, -mount_height]) {
 					cylinder(r = mount_radius + wall, h = mount_height, $fn = facets);
 				}
@@ -226,16 +229,19 @@ module mount (angles, wall, separation) {
 				cylinder(r = mount_radius, h = mount_height * 1.5, $fn = facets);
 			}
             // cut the outside of the sloped ridge
-			translate([0, 0, -mount_height]) {
-                difference() {
-                    cylinder(r = capsule_sep_max + mount_height * 1.5, h = mount_height * 1.5, $fn = facets);
-                    cylinder(r = capsule_sep_max, h = mount_height * 1.5, $fn = facets);
-                }
-			}
+//			translate([0, 0, -mount_height]) {
+//                difference() {
+//                    cylinder(r = capsule_sep_max + mount_height * 1.5, h = mount_height * 1.5, $fn = facets);
+//                    cylinder(r = capsule_sep_max, h = mount_height * 1.5, $fn = facets);
+//                }
+//			}
 			// and cut a slot for the ridges in the wall of the cylinder
             for (rot = angles) {
-                rotate([0, 0, rot]) {
-                    translate([-capsule_sep_max * 2, -ridge_width + 4 * fit, -mount_slot_depth]) {
+                rotate([0, -elev_angle, rot]) {
+                    translate([-capsule_sep_max * 2, 0.5 * ridge_width - fit, mount_slot_depth]) {
+                        cube([capsule_sep_max * 2, ridge_width + 2 * fit, mount_height]);
+                    }
+                    translate([-capsule_sep_max * 2, - 1.5 * ridge_width - fit, mount_slot_depth]) {
                         cube([capsule_sep_max * 2, ridge_width + 2 * fit, mount_height]);
                     }
                 }