From 68db526e08029c68a07ad685459fb83c9bd52d62 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 24 May 2013 23:49:08 +0100 Subject: [PATCH] tube-crossdrill-jig wip --- tube-crossdrill-jig.scad | 96 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 tube-crossdrill-jig.scad diff --git a/tube-crossdrill-jig.scad b/tube-crossdrill-jig.scad new file mode 100644 index 0000000..4293f5b --- /dev/null +++ b/tube-crossdrill-jig.scad @@ -0,0 +1,96 @@ +// -*- C -*- + +rearwallthick = 3; +basethick = 3; +mainframeendthick = 2.5; + +tubedia=16; +tubetubethick=2; +tubetubetopslop=1; + +boltholedia = 6.5 + 0.5; + +// "slot" refers to the things in the base of the drill press stand +backslotedgespace = 71; +slotwidth = 11.5; +backslotmid2screwhole = 17; +slotplugheight = 5.5; +slotplugdepth = 10; + +// "keepslot" refers to the screws in the wooden jig block +keepslotstartz = 20; +keepslotlen = 25; + +mainframeextraside = 15; +mainframeextrafront = 25; + +// computed values + +mainframeholex = backslotedgespace/2 + slotwidth/sqrt(2) + + backslotmid2screwhole / sqrt(2); + +mainframeholey = -backslotmid2screwhole / sqrt(2); + +mainframemaxx = mainframeholex + mainframeextraside; +mainframeminy = mainframeholey - mainframeextrafront; +mainframemaxz = keepslotstartz + keepslotlen; + +module MainFrame(){ + for (m=[0,1]) { + mirror([m,0,0]) { + translate([-1, mainframeminy, 0]) + 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]]); + + 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]]); + } + } +} + +module TubeThing(extralen, dia, extraheight, underheight){ + effheight = tubetubetopslop + extraheight + underheight; + len = -mainframeminy + extralen * 2; + translate([0, mainframeminy - extralen, -underheight]) { + translate([0,0, dia/2 + effheight]) + rotate([-90,0,0]) cylinder(h=len, r=dia/2); + translate([-dia/2, 0, 0]) + cube([dia, len, effheight + dia/2]); + } +} + +module Jig(){ + difference(){ + union(){ + MainFrame(); + TubeThing(0, tubedia+tubetubethick*2, -tubetubethick, 0); + } + union(){ + translate([0,0,-0.1]) + TubeThing(10, tubedia, 0, 5); + translate([-boltholedia/2, mainframeminy - 1, -5]) + cube([boltholedia, -mainframeminy + 1 - rearwallthick - 0.1, + mainframemaxz + 10]); + for (m=[0,1]) { + } + } + } +} + +//MainFrame(); +//TubeThing(0, tubedia); + +Jig(); -- 2.30.2