29 walll = basel + webt + padl;;
31 webw = min(basew, padw);
33 module slothole(sz, slot, thick, csunk=true) {
35 for (y = [-slot/2,slot/2]) {
36 translate([0,y,-0.05])
37 cylinder(r1=sz/2 + holeslop,
38 r2=sz/2 + (csunk ? thick : 0) + holeslop,
46 translate([0, -basew, 0])
47 cube([basel, basew, baset]);
49 translate([basel/2, -(basew+wallt)/2, 0])
50 slothole(baseholesz, baseholeslot, baset);
55 linear_extrude(height=wallt){
57 [0, wallh/2 + wallholesz/2 + wallt + wallt],
60 [walll, wallh - padt - padt],
65 translate([basel/2, 0, wallholeh])
67 slothole(wallholesz, wallholeslot, wallt, csunk=false);
70 translate([basel-0.01, 0, 0]) {
72 linear_extrude(height=webt+0.02) {
82 translate([basel+webt, -padw, wallh-padt]) {
84 cube([padl, padw, padt]);
85 translate([padl/2, padw/2, -1])
86 cylinder(r=padholesz/2 + holeslop, h=padt+2);
91 module BracketR(){ ////toplevel
92 rotate([-90,0,0]) Bracket();
95 module BracketL(){ ////toplevel
96 mirror([1,0,0]) BracketR();
99 module Kit(){ ////toplevel
100 for (y=[0, -wallh-5]) {
102 translate([5,0,0]) BracketR();