X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=tube-crossdrill-jig.scad;h=843a2a697123c8e10d87a0f882991cb80da2d8c2;hp=a7f35b2794d4a454371e3cf5a256c4cc8d836a91;hb=21b6c2f5610d1a91ca5333a1f24cfe0492a4581f;hpb=415fa8da0ea895039626c6a89bd2e7e88d716fa4 diff --git a/tube-crossdrill-jig.scad b/tube-crossdrill-jig.scad index a7f35b2..843a2a6 100644 --- a/tube-crossdrill-jig.scad +++ b/tube-crossdrill-jig.scad @@ -1,39 +1,58 @@ // -*- 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; boltholedia = 6.5 + 0.5; boltholeslotshorter = 6; -mainframeholedia = 5 + 0.5; +mainframeholedia = 5 + 1.0; // "slot" refers to the things in the base of the drill press stand -backslotedgespace = 71; -slotwidth = 11.5; +backslotedgespace = 59; +slotwidth = 11.5 - 0.5; backslotmid2screwhole = 17; slotplugheight = 5.5; -slotplugdepth = 10; +slotplugshorterlen =10; +slotpluglongerlen = 20; + +//slotslope = 11.0 / 18.5; +slotslope = 1 / tan(51); // "keepslot" refers to the screws in the wooden jig block keepslotstartz = 20; -keepslotlen = 25; +keepslotlen = 18; keepslotx = backslotedgespace / 2; keepslotwidth = 4; -mainframeextraside = 15; -mainframeextrafront = 25; +mainframeextraside = 12; +mainframeextrafront = 15; + +rearwallstrengthwidth = 10; +keepslotclear = 10; // computed values -mainframeholex = backslotedgespace/2 + slotwidth/sqrt(2) + - backslotmid2screwhole / sqrt(2); +slotslopediag = sqrt(1 + slotslope*slotslope); +slotwidthx = slotwidth * slotslopediag; + +slotxperlen = slotslope / slotslopediag; +slotyperlen = 1 / slotslopediag; -mainframeholey = -backslotmid2screwhole / sqrt(2); +mainframeholex = backslotedgespace/2 + slotpluglongerlen * slotxperlen + + 0.5 * slotwidth * slotyperlen; + +mainframeholey = -slotpluglongerlen * slotyperlen + + 0.5 * slotwidth * slotxperlen; mainframemaxx = mainframeholex + mainframeextraside; mainframeminy = mainframeholey - mainframeextrafront; @@ -46,27 +65,31 @@ module MainFrame(){ cube([mainframemaxx+1, -mainframeminy, basethick]); translate([-1, -rearwallthick, 0]) cube([mainframemaxx+1, rearwallthick, mainframemaxz]); - translate([mainframemaxx,0,0]) - rotate([90,0,-90]) - linear_extrude(height=mainframeendthick) - polygon([[-mainframeminy, 0], - [0, mainframemaxz], - [0, 0]]); + + for (x=[keepslotx - keepslotclear, mainframemaxx - 0.5]) { + translate([x,0,0]) + rotate([90,0,-90]) + linear_extrude(height=mainframeendthick) + polygon([[-mainframeminy, 0], + [0, mainframemaxz], + [0, 0]]); + } translate([backslotedgespace/2, 0, 1]) 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]) - cube([keepslotx - 10 + 1, + cube([keepslotx - keepslotclear + 1, boltholeslotshorter + 0.5, - 3]); + rearwallstrengthwidth]); } } } @@ -111,4 +134,5 @@ module Jig(){ //MainFrame(); //TubeThing(0, tubedia); -Jig(); +rotate([-90,0,0]) + Jig();