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();