X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=xeno-drivebay-bracket.scad;h=2073e05264da0591a43615f22469a651d20a739e;hp=1821b99711f079df407ac9a48489589d950b85e3;hb=52babb66e84b372a20b0d7db544530cc66b8fac9;hpb=ed3e55ff589b41e2d4c9465d33ec5dcd07c6515c diff --git a/xeno-drivebay-bracket.scad b/xeno-drivebay-bracket.scad index 1821b99..2073e05 100644 --- a/xeno-drivebay-bracket.scad +++ b/xeno-drivebay-bracket.scad @@ -16,8 +16,8 @@ holeslop = 0.5; webt = 2.5; -//padw = 12; -padw = 0; +pad = false; +padw = 12; padt = webt; padl = padw; @@ -27,17 +27,17 @@ wallholeh = 6+14+2; wallholesz = 3.0; wallholeslot = 4.5; -walll = basel + webt + padl;; +walll = basel + webt + (pad ? padl : -0.1); -webw = min(basew, padw); +webw = min(basew, pad ? padw : padt); module slothole(sz, slot, thick, csunk=true, slop=holeslop) { hull(){ for (y = [-slot/2,slot/2]) { - translate([0,y,-0.05]) + translate([0,y,-0.15]) cylinder(r1=sz/2 + slop, r2=sz/2 + (csunk ? thick : 0) + slop, - h=thick+0.10); + h=thick+0.30); } } } @@ -52,6 +52,7 @@ module Bracket(){ } difference(){ + translate([0.1, 0.3, 0.1]) rotate([90,0,0]) { linear_extrude(height=wallt){ polygon([[0,0], @@ -80,11 +81,13 @@ module Bracket(){ } } - 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); + 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); + } } } } @@ -97,6 +100,86 @@ 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]) { + difference(){ + cube([chabbasew, chabd-0.1, chabbaset]); + translate([chabbasew/2, (chabd-chabwebt)/2, 0]) + rotate([0,0,90]) + slothole(baseholesz, chabslot, baset, slop=baseholeslop); + } + } + rotate([90,0,0]) linear_extrude(height=chabwebt) { + polygon([[-chablidw, chabinnerh], + [-chablidw, chablidt+chabinnerh], + [-chabwebh, chablidt+chabinnerh+chabwebh], + [+chabwebh, chablidt+chabinnerh+chabwebh], + [+chabbasew, chabbaset], + [+chabbasew, 0], + [0, 0], + [0, chabinnerh]]); + } +} + +module ChannelBracketT(){ + rotate([-90,0,0]) ChannelBracket(); +} + module Kit(){ ////toplevel for (y=[0, -wallh-5]) { translate([0,y,0]) { @@ -108,3 +191,5 @@ module Kit(){ ////toplevel //Kit(); //BracketR(); +//RearCableProtectorT(); +//ChannelBracketT();