chiark / gitweb /
crossbar-computer-led-mount: Tower wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 8 Jun 2013 23:47:28 +0000 (00:47 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 8 Jun 2013 23:47:28 +0000 (00:47 +0100)
crossbar-computer-led-mount.scad

index bce6940..533519e 100644 (file)
@@ -53,7 +53,8 @@ tower_over_max_y = tower_overhang * sin(tower_over_angle);
 tower_over_max_z = tower_frontheight + tower_overhang * cos(tower_over_angle);
 tower_total_max_z = tower_over_max_z + vert_space_inside + led_depth;
 tower_rearwall_y = -(backfront_space_inside + tower_wall_thick);
-
+led_head_y = tower_over_max_y/2;
+led_head_z = tower_frontheight + tower_overhang*sin(tower_over_angle)/2;
 backfront_mate_extra = (backfront_mate_size - (-tower_rearwall_y));
 
 module TowerWallCrossSection(){
@@ -69,7 +70,8 @@ module TowerWallCrossSection(){
           [-tower_rearwall_y,  tower_total_max_z],
           [-tower_rearwall_y,  0],
           [-tower_rearwall_y, -tower_base_height],
-          [-backfront_mate_extra, -tower_base_height]]);
+          [-backfront_mate_extra, -tower_base_height]],
+         convexity=5);
 }
 
 module TowerWallSomeEdge(front){
@@ -87,8 +89,7 @@ module TowerBulkCrossSection(){
   intersection(){
     TowerWallCrossSection();
     union(){
-      translate([-tower_over_max_y/2,
-                tower_frontheight + tower_overhang*sin(tower_over_angle)/2])
+      translate([-led_head_y, led_head_z])
        circle(r = led_depth);
       TowerWallSomeEdge(true);
       translate([-50, -50])
@@ -102,7 +103,7 @@ module TowerRearWallCrossSection(){
     TowerWallCrossSection();
     union(){
       intersection(){
-       translate([0,-10]) square([100, 10+tower_frontheight]);
+       translate([0,-10]) square([100, 10+led_head_z]);
        TowerWallSomeEdge(false);
       }
       TowerBulkCrossSection();
@@ -132,9 +133,17 @@ module TowerMain(){
     }
 }
 
+module LedHole(){
+  translate([0, led_head_y, led_head_z])
+    rotate([90 + led_angle])
+    translate([0,0,-10])
+    cylinder(r=led_dia/2, h=led_depth+0.1+10, $fn=30);
+}
+
 module Tower(){
   difference(){
     TowerMain();
+    LedHole();
   }
 }