Explorar o código

h2n: cut slots at the bottom of the columns so that we can install the bridge with the wires already threaded into the recorder

Fernando Pablo Lopez-Lezcano %!s(int64=9) %!d(string=hai) anos
pai
achega
750c0b91ec
Modificáronse 1 ficheiros con 22 adicións e 12 borrados
  1. 22 12
      TinySpHEAR_H2N_common.scad

+ 22 - 12
TinySpHEAR_H2N_common.scad

@@ -55,11 +55,16 @@ module tube(or, ir, h) {
 
 // main support ring
 
-module h2n_ring(width, depth, radius, height, slot_w, slot_d, band_wall, tube_wall, wall) {
+module h2n_ring(width, depth, radius, height, slot_w, slot_d, band_wall, wall, col_rad, col_wall) {
     // main support ring
     difference() {
         rounded_block(height, width / 2 + band_wall, depth / 2 +  band_wall, radius - thin_mint);
         rounded_block_relative(height, width / 2 + band_wall, depth / 2 + band_wall, radius - band_wall - thin_mint, - band_wall);
+        for (m = [0, 1]) mirror([m, 0, 0]) {
+            translate([width / 2 + col_rad - col_wall, 0, 0]) {
+                cylinder(r = col_rad, h = height + thin_mint, $fn = facets);
+            }
+        }
     }
     // inner band
     difference() {
@@ -170,12 +175,12 @@ module h2n_bridge(width, height, ring_height, ring_wall, tilt, band, transition,
         }
     }
     // top of bridge
-    translate([width / 2, 0, band]) {
+    translate([width / 2 + wall, 0, band]) {
         rotate([0, -90, 0]) {
             difference() {
                 // curvy ceiling
-                semi_cylinder(r = radius + col_wall, h = width);
-                semi_cylinder(r = radius + col_wall - wall, h = width);
+                semi_cylinder(r = radius + col_wall, h = width + 2 * wall);
+                semi_cylinder(r = radius + col_wall - wall, h = width + 2 * wall);
                 // make a hole for the cables
                 translate([0, 0, width / 2]) {
                     rotate([0, 90, 0]) {
@@ -187,8 +192,7 @@ module h2n_bridge(width, height, ring_height, ring_wall, tilt, band, transition,
     }
     // caps at ends
     for (m = [0, 1]) mirror([m, 0, 0]) {
-        // fixme: why the 0.3 magic below?
-        translate([width / 2 - 0.3, 0, band]) {
+        translate([width / 2 + wall, 0, band]) {
             difference() {
                 quarter_sphere(r = radius + col_wall);
                 quarter_sphere(r = radius + col_wall - wall);
@@ -198,8 +202,8 @@ module h2n_bridge(width, height, ring_height, ring_wall, tilt, band, transition,
     // base of bridge
     translate([0, 0, 0]) {
         for (m = [0, 1]) mirror([m, 0, 0]) {
-            translate([width / 2 + mount_radius - col_wall - height * tan(tilt) + wall, 0, 0]) {
-                cylcube(width / 2 - height * tan(tilt), radius + col_wall, band, wall);
+            translate([width / 2 + wall, 0, 0]) {
+                cylcube(width / 2 + wall, radius + col_wall, band, wall);
             }
         }
     }
@@ -208,7 +212,7 @@ module h2n_bridge(width, height, ring_height, ring_wall, tilt, band, transition,
         cube([col_wall, (radius + wall) * 2, col_wall]);
     }
     for (m = [0, 1]) mirror([m, 0, 0]) {
-        translate([-width / 2 + radius + wall + 0.5, -(radius + wall), 0]) {
+        translate([-width / 2 + radius, -(radius + wall), 0]) {
             cube([col_wall, (radius + wall) * 2, col_wall]);
         }
     }
@@ -234,16 +238,22 @@ h2n_band_wall = 1.6;
 // walls for the columns
 h2n_col_wall = 2 * wall;
 
+// tilt for the columnds
+h2n_col_tilt = 4.0;
+
 // render the whole thing
 
 difference() {
 union() {
 
-*h2n_ring(h2n_width_m, h2n_depth_m, h2n_depth * 0.425, h2n_band_height, h2n_side_band_w, h2n_side_band, h2n_band_wall, 0.0, wall);
+h2n_ring(h2n_width_m, h2n_depth_m, h2n_depth * 0.425, h2n_band_height, h2n_side_band_w, h2n_side_band, h2n_band_wall, wall, mount_radius, h2n_col_wall);
 
-*h2n_columns(h2n_width_m, connector_height, h2n_band_height, 4.0, 10.0, transition_height, mount_radius + h2n_col_wall, h2n_col_wall);
+h2n_columns(h2n_width_m, connector_height, h2n_band_height, h2n_col_tilt, 10.0, transition_height, mount_radius + h2n_col_wall, h2n_col_wall);
 
-h2n_bridge(h2n_width_m, connector_height, h2n_band_height, h2n_band_wall, 4.0, 10.0, transition_height, mount_radius, h2n_col_wall, wall);
+*translate([0, 0, connector_height]) {
+    h2n_bridge(h2n_width_m - connector_height * tan(h2n_col_tilt), connector_height, 
+               h2n_band_height, h2n_band_wall, h2n_col_tilt, 10.0, transition_height, mount_radius, h2n_col_wall, wall);
+}
 
 }
 *translate([-40, -50, 0]) {