瀏覽代碼

add TinySpHEAR branding to ring, add anchors and holes for screws

Fernando Pablo Lopez-Lezcano 9 年之前
父節點
當前提交
6ea8331cb4
共有 1 個文件被更改,包括 38 次插入 和 8 次删除
  1. 38 8
      TinySpHEAR_H2N_common.scad

+ 38 - 8
TinySpHEAR_H2N_common.scad

@@ -129,6 +129,14 @@ module h2n_ring(width, depth, radius, height, tilt, slot_w, slot_d, band_wall, w
             }
         }
     }
+    // add TinySpHEAR "branding"
+    translate([0, -(h2n_depth_m / 2 + wall), h2n_band_height / 2]) scale(0.5) {
+        rotate([90 - h2n_col_tilt, 0, 0]) {
+            linear_extrude(height = 1.5, center = "true") {
+                text("TinySpHEAR", size = 8.0, spacing = 1.1, halign = "center", valign = "center", font = "Liberation Sans");
+            }
+        }
+    }
 }
 
 // side columns
@@ -236,7 +244,7 @@ module h2n_column(height, ring_height, tilt, transition, radius, col_wall, wall)
         // this fine adjustment determines how much the side walls "hug" the H2N
         width_fit = 0.2;
         translate([radius + 2 * wall - width_fit, 0, 0]) {
-            tilted_half_rounded_box(height, 3.8, h2n_side_band_w / 2, 1.5, 4 * wall, height * tan(tilt));
+            tilted_half_rounded_box(height + thin_mint, 3.8, h2n_side_band_w / 2, 1.5, 4 * wall, height * tan(tilt));
         }
         // trim side of tubes with a vertical plane
         translate([-(radius * 2 + col_wall) + col_wall / 2, -(radius + col_wall), 0]) {
@@ -258,12 +266,36 @@ module h2n_column(height, ring_height, tilt, transition, radius, col_wall, wall)
         connector_height = 5.0;
         difference() {
             union() {
-                cylinder(r = radius + wall - h2n_mount_fit, h = connector_height, $fn = facets);
-                h2n_column_core(h2n_bridge_band_h, ring_height, 0, transition, radius, col_wall, wall, -(wall + h2n_mount_fit));
+                difference() {
+                    union() {
+                        cylinder(r = radius + wall - h2n_mount_fit, h = connector_height, $fn = facets);
+                        h2n_column_core(h2n_bridge_band_h, ring_height, 0, transition, radius, col_wall, wall, -(wall + h2n_mount_fit));
+                    }
+                    cylinder(r = radius, h = connector_height, $fn = facets);
+                    translate([1.5, -(radius + wall) * 2, 0]) {
+                        cube([radius + wall, (radius + wall) * 4, connector_height]);
+                    }
+                }
+                // add anchor for retaining screw
+                difference() {
+                    translate([-radius, 0, radius]) {
+                        sphere(r = radius * 2/3, $fn = facets);
+                    }
+                    // and clip out the rest of the sphere
+                    difference() {
+                        cylinder(r = 2 * radius + wall, h = height);
+                        cylinder(r = radius + wall - h2n_mount_fit, h = height);
+                    }
+                    translate([0, 0, connector_height]) {
+                        cylinder(r = radius + wall, h = connector_height);
+                    }
+                }
             }
-            cylinder(r = radius, h = connector_height, $fn = facets);
-            translate([1.5, -(radius + wall) * 2, 0]) {
-                cube([radius + wall, (radius + wall) * 4, connector_height]);
+            // make hole for screw
+            translate([-(radius + 2 * wall), 0, radius]) {
+                rotate([0, 90, 0]) {
+                    cylinder(r = 0.5, h = radius + wall, $fn = facets);
+                }
             }
         }
     }
@@ -585,8 +617,6 @@ union() {
 }
 }
 
-*text("TinySpHEAR");
-
 // individual capsule holders
 
 *render_tetra_capsule_top(0);