// -*- C -*-
-basel = 20;
+basel = 23;
basew = 27;
baset = 4.0;
baseholesz = 4; // fixme check
baseholeslot = 4;
+topl = 20;
+
holeslop = 0.5;
+webt = 3;
+
+padt = 3;
+padw = 20;
+padl = padw;
+padholesz = 5.0;
+
walll = basel;
wallholeh = 6+14+2;
wallholesz = 3.0; // fixme check
-wallholeslot = 3.0;
+wallholeslot = 4.5;
module slothole(sz, slot, thick) {
hull(){
}
}
-difference(){
- translate([0, -basew, 0])
- cube([basel, basew, baset]);
+module Bracket(){
+ difference(){
+ translate([0, -basew, 0])
+ cube([basel, basew, baset]);
- translate([basel/2, -(basew+wallt)/2, 0])
- slothole(baseholesz, baseholeslot, baset);
-}
+ translate([basel/2, -(basew+wallt)/2, 0])
+ slothole(baseholesz, baseholeslot, baset);
+ }
-difference(){
- translate([0, -wallt, 0])
- cube([walll, wallt, wallh]);
+ difference(){
+ translate([0, -wallt, 0])
+ cube([walll, wallt, wallh]);
- translate([basel/2, 0, wallholeh])
- rotate([90,0,0])
- slothole(wallholesz, wallholeslot, wallt);
+ translate([basel/2, 0, wallholeh])
+ rotate([90,90,0])
+ slothole(wallholesz, wallholeslot, wallt);
+ }
+
+ translate([basel-0.01, -basew, 0])
+ cube([webt+0.02, basew, wallh]);
+
+ translate([basel+webt, -padw, wallh-padt]) {
+ difference(){
+ cube([padl, padw, padt]);
+ translate([padl/2, padw/2, -1])
+ cylinder(r=padholesz/2 + holeslop, h=padt+2);
+ }
+ }
}
+
+Bracket();