30 walll = basel + webt + padl;;
32 webw = min(basew, padw);
34 module slothole(sz, slot, thick, csunk=true, slop=holeslop) {
36 for (y = [-slot/2,slot/2]) {
37 translate([0,y,-0.05])
38 cylinder(r1=sz/2 + slop,
39 r2=sz/2 + (csunk ? thick : 0) + slop,
47 translate([0, -basew, 0])
48 cube([basel, basew, baset]);
50 translate([basel/2, -(basew+wallt)/2, 0])
51 slothole(baseholesz, baseholeslot, baset, slop=baseholeslop);
56 linear_extrude(height=wallt){
58 [0, wallh/2 + wallholesz/2 + wallt + wallt],
61 [walll, wallh - padt - padt],
66 translate([basel/2, 0, wallholeh])
68 slothole(wallholesz, wallholeslot, wallt, csunk=false);
71 translate([basel-0.01, 0, 0]) {
73 linear_extrude(height=webt+0.02) {
83 translate([basel+webt, -padw, wallh-padt]) {
85 cube([padl, padw, padt]);
86 translate([padl/2, padw/2, -1])
87 cylinder(r=padholesz/2 + holeslop, h=padt+2);
92 module BracketR(){ ////toplevel
93 rotate([-90,0,0]) Bracket();
96 module BracketL(){ ////toplevel
97 mirror([1,0,0]) BracketR();
100 module Kit(){ ////toplevel
101 for (y=[0, -wallh-5]) {
103 translate([5,0,0]) BracketR();