X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tube-crossdrill-jig.scad;h=0b18eccd9269bb45729ce65a9c827dcbfce83b7b;hb=7ac53be54265ee7ff2eaaf5e0bbaf7d585e94384;hp=1236d14a40c035a875f6403e72e56d25d1ac4e1a;hpb=1d2d5518aa92a6e9bb61ac6da73a3ef809e5ab10;p=reprap-play.git diff --git a/tube-crossdrill-jig.scad b/tube-crossdrill-jig.scad index 1236d14..0b18ecc 100644 --- a/tube-crossdrill-jig.scad +++ b/tube-crossdrill-jig.scad @@ -1,10 +1,15 @@ // -*- C -*- +//$fs=0.1; +//$fa=3; +$fs=0.2; +$fa=6; + rearwallthick = 3; -basethick = 3; +basethick = 2; mainframeendthick = 2.5; -tubedia=16; +tubedia = 16 + 0.8; tubetubethick=2; tubetubetopslop=1; @@ -13,11 +18,14 @@ boltholeslotshorter = 6; mainframeholedia = 5 + 0.5; // "slot" refers to the things in the base of the drill press stand -backslotedgespace = 71; +backslotedgespace = 55; slotwidth = 11.5; backslotmid2screwhole = 17; slotplugheight = 5.5; -slotplugdepth = 10; +slotplugshorterlen = 8; +slotpluglongerlen = 18; + +slotslope = 11.0 / 18.5; // "keepslot" refers to the screws in the wooden jig block keepslotstartz = 20; @@ -26,7 +34,7 @@ keepslotx = backslotedgespace / 2; keepslotwidth = 4; mainframeextraside = 15; -mainframeextrafront = 25; +mainframeextrafront = 15; rearwallstrengthwidth = 10; keepslotclear = 10; @@ -42,6 +50,14 @@ mainframemaxx = mainframeholex + mainframeextraside; mainframeminy = mainframeholey - mainframeextrafront; mainframemaxz = keepslotstartz + keepslotlen; +slotslopediag = sqrt(1 + slotslope*slotslope); +slotwidthx = slotwidth * slotslopediag; + +slotxperlen = slotslope / slotslopediag; +slotyperlen = 1 / slotslopediag; + +echo(slotslope, slotslopediag, slotwidthx); + module MainFrame(){ for (m=[0,1]) { mirror([m,0,0]) { @@ -50,7 +66,7 @@ module MainFrame(){ translate([-1, -rearwallthick, 0]) cube([mainframemaxx+1, rearwallthick, mainframemaxz]); - for (x=[keepslotx - keepslotclear, mainframemaxx]) { + for (x=[keepslotx - keepslotclear, mainframemaxx - 0.5]) { translate([x,0,0]) rotate([90,0,-90]) linear_extrude(height=mainframeendthick) @@ -63,10 +79,11 @@ module MainFrame(){ mirror([0,0,1]) linear_extrude(height=slotplugheight+1) polygon([[0,0], - [slotwidth * sqrt(2), 0], - [slotplugdepth / sqrt(2) + slotwidth * sqrt(2), - -slotplugdepth], - [slotplugdepth / sqrt(2), -slotplugdepth]]); + [slotwidthx, 0], + [slotwidthx + slotplugshorterlen * slotxperlen, + -slotplugshorterlen * slotyperlen], + [slotpluglongerlen * slotxperlen, + -slotpluglongerlen * slotyperlen]]); translate([-1, -rearwallthick - boltholeslotshorter + 0.2, tubedia + tubetubetopslop + tubetubethick + 4])