X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=xeno-drivebay-bracket.scad;h=cf2ea7b8854462886de536103a0bbd6af1e451fb;hb=35c4b6f9b1d613cd354d41697d7ef2e60631e5a3;hp=66b520ea673100583460646d95865818936baced;hpb=721af5823601915ba96703f4b2d4dd9d5c80d7ed;p=reprap-play.git diff --git a/xeno-drivebay-bracket.scad b/xeno-drivebay-bracket.scad index 66b520e..cf2ea7b 100644 --- a/xeno-drivebay-bracket.scad +++ b/xeno-drivebay-bracket.scad @@ -1,6 +1,6 @@ // -*- C -*- -basel = 20; +basel = 23; basew = 27; baset = 4.0; @@ -11,12 +11,24 @@ wallh = 42; baseholesz = 4; // fixme check baseholeslot = 4; +topl = 20; + holeslop = 0.5; -walll = basel; +webt = 3; + +padt = 3; +padw = 20; +padl = padw; +padholesz = 5.0; + wallholeh = 6+14+2; wallholesz = 3.0; // fixme check -wallholeslot = 3.0; +wallholeslot = 4.5; + +walll = basel + webt + padl;; + +webw = min(basew, padw); module slothole(sz, slot, thick) { hull(){ @@ -29,19 +41,68 @@ module slothole(sz, slot, thick) { } } -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); + } + + difference(){ + rotate([90,0,0]) { + linear_extrude(height=wallt){ + polygon([[0,0], + [0, wallh/2 + wallholesz/2 + wallt + wallt], + [basel, wallh], + [walll, wallh], + [walll, wallh - padt - padt], + [basel + webt, 0]]); + } + } + + translate([basel/2, 0, wallholeh]) + rotate([90,90,0]) + slothole(wallholesz, wallholeslot, wallt); + } + + translate([basel-0.01, 0, 0]) { + rotate([90,0,90]) { + linear_extrude(height=webt+0.02) { + polygon([[-basew, 0], + [-basew, baset], + [-webw, wallh], + [0, wallh], + [0, 0]]); + } + } + } - translate([basel/2, -(basew+wallt)/2, 0]) - slothole(baseholesz, baseholeslot, baset); + 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); + } + } } -difference(){ - translate([0, -wallt, 0]) - cube([walll, wallt, wallh]); +module BracketR(){ ////toplevel + rotate([-90,0,0]) Bracket(); +} - translate([basel/2, 0, wallholeh]) - rotate([90,0,0]) - slothole(wallholesz, wallholeslot, wallt); +module BracketL(){ ////toplevel + mirror([1,0,0]) BracketR(); } + +module Kit(){ ////toplevel + for (y=[0, -wallh-5]) { + translate([0,y,0]) { + translate([5,0,0]) BracketR(); + BracketL(); + } + } +} + +Kit();