chiark / gitweb /
maglite-holder: photo
[reprap-play.git] / led-panel-ceiling-bracket.scad
index a2e05ffa42310011065e7b54ca2672df8b1869a8..8f39a5bf0e6d06c87e54e2d2e3f0f3ac4674c043 100644 (file)
@@ -4,25 +4,53 @@ holespc = 20;
 
 len = 50;
 width = 20;
-backspc = 10;
+backspc = 8;
+extra_height = 2;
 light_height = 12.5;
 hole_from_back = 7.2 + 0.5;
 hole_dia = 3.5 + 0.5;
+bolthead_dia = 7 + 1.0;
+bolthead_depth = 5 + 20 - 12 + 2.7/2;
 
-height = light_height + backspc;
+plasfix_dia = 4.5 + 0.5 + 1.1;
+plasfix_head = 8.7 + 0.5 + 1.1;
+plasfix_headdep = plasfix_dia;
+plasfix_sink = 8;
+
+height = light_height + backspc + extra_height;
+
+octagon_fudge = 1/cos(22.5);
+
+echo("remain", width - bolthead_depth);
 
 module Bracket(){
   difference(){
-    translate([-len/2, 0,0])
+    translate([-len/2, 0, 0])
       cube([len, width, height]);
     for (xsgn=[-1,+1]) {
-      translate([xsgn * holespc/2, -1, light_height - hole_from_back]) {
-       rotate([-90,0,0])
-         rotate([0,0,360/8/2])
-         cylinder(r=hole_dia/2, h=50, $fn=8);
+      translate([xsgn * holespc/2, -1,
+                light_height - hole_from_back + extra_height]) {
+       rotate([-90,0,0]) {
+         rotate([0,0,360/8/2]) {
+           cylinder(r=bolthead_dia/2 * octagon_fudge,
+                    h= bolthead_depth +1, $fn=8);
+           cylinder(r=hole_dia/2 * octagon_fudge,
+                    h=50, $fn=8);
+         }
+       }
       }
     }
+    translate([0, width/2, 0]) {
+      cylinder(r= plasfix_dia/2, h=50, $fn=20);
+      translate([0,0,-1])
+       cylinder(r= plasfix_head/2, h= plasfix_sink + 1, $fn=20);
+    }
   }
 }
 
-Bracket();
+module BracketPrint(){
+  rotate([0,180,0])
+    Bracket();
+}
+
+BracketPrint();