+ if (pad) {
+ 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);
+ }
+ }
+ }
+}
+
+module BracketR(){ ////toplevel
+ rotate([-90,0,0]) Bracket();
+}
+
+module BracketL(){ ////toplevel
+ mirror([1,0,0]) BracketR();
+}
+
+protinnerh = 47;
+protinnerw = 53;
+protd = 45;
+protbaset = 4;
+protwallt = 2;
+protlidt = protwallt;
+protwingd = 28;
+protwingw = 23;
+
+module RearCableProtector(){
+ for (x = [-protwallt, protinnerw]) {
+ translate([x, 0, 0]) {
+ cube([protwallt, protd, protinnerh+protlidt]);
+ }
+ }
+ translate([-(protwallt-0.1), 0, protinnerh])
+ cube([protinnerw + (protwallt-0.1)*2, protd, protlidt]);
+ for (lr = [1,0]) {
+ translate([(lr ? -(protwingw + protwallt) : protinnerw), 0, 0]) {
+ difference(){
+ translate([0, 0, 0])
+ cube([protwingw, protwingd, protbaset]);
+ translate([protwingw/2, protwingd/2, 0])
+ rotate([0,0, lr ? 45 : -45])
+ slothole(baseholesz, baseholeslot, baset, slop=baseholeslop);
+ }
+ }
+ }
+}
+
+module RearCableProtectorT(){ ////toplevel
+ rotate([90,0,0]) RearCableProtector();
+}
+
+chabd = 20;
+chablidw = 40;
+chabinnerh = 11;
+chabwallt = 2;
+chablidt = 2;
+chabwebt = 2.5;
+chabbaset = baset;
+chabbasew = 20;
+chabslot = 3;
+chablidholed = 3;
+chabwebh = 5;
+
+module ChannelBracket(){
+ translate([0, -chabd, 0])
+ cube([chabwallt, chabd, chabinnerh+chablidt]);
+ translate([-chablidw, -chabd, chabinnerh]) {
+ difference(){
+ cube([chablidw + chabwallt - 0.1, chabd - 0.1, chablidt]);
+ translate([chablidw/2, chabd/2, -1])
+ cylinder(r=chablidholed/2, h=chablidt+2, $fn=20);
+ }
+ }
+ translate([chabwallt-0.1, -chabd, 0]) {