5 mainframeendthick = 2.5;
11 boltholedia = 6.5 + 0.5;
12 boltholeslotshorter = 6;
13 mainframeholedia = 5 + 0.5;
15 // "slot" refers to the things in the base of the drill press stand
16 backslotedgespace = 71;
18 backslotmid2screwhole = 17;
22 // "keepslot" refers to the screws in the wooden jig block
25 keepslotx = backslotedgespace / 2;
28 mainframeextraside = 15;
29 mainframeextrafront = 25;
31 rearwallstrengthwidth = 10;
36 mainframeholex = backslotedgespace/2 + slotwidth/sqrt(2) +
37 backslotmid2screwhole / sqrt(2);
39 mainframeholey = -backslotmid2screwhole / sqrt(2);
41 mainframemaxx = mainframeholex + mainframeextraside;
42 mainframeminy = mainframeholey - mainframeextrafront;
43 mainframemaxz = keepslotstartz + keepslotlen;
48 translate([-1, mainframeminy, 0])
49 cube([mainframemaxx+1, -mainframeminy, basethick]);
50 translate([-1, -rearwallthick, 0])
51 cube([mainframemaxx+1, rearwallthick, mainframemaxz]);
53 for (x=[keepslotx - keepslotclear, mainframemaxx]) {
56 linear_extrude(height=mainframeendthick)
57 polygon([[-mainframeminy, 0],
62 translate([backslotedgespace/2, 0, 1])
64 linear_extrude(height=slotplugheight+1)
66 [slotwidth * sqrt(2), 0],
67 [slotplugdepth / sqrt(2) + slotwidth * sqrt(2),
69 [slotplugdepth / sqrt(2), -slotplugdepth]]);
71 -rearwallthick - boltholeslotshorter + 0.2,
72 tubedia + tubetubetopslop + tubetubethick + 4])
73 cube([keepslotx - keepslotclear + 1,
74 boltholeslotshorter + 0.5,
75 rearwallstrengthwidth]);
80 module TubeThing(extralen, dia, extraheight, underheight){
81 effheight = tubetubetopslop + extraheight + underheight;
82 len = -mainframeminy + extralen * 2;
83 translate([0, mainframeminy - extralen, -underheight]) {
84 translate([0,0, dia/2 + effheight])
85 rotate([-90,0,0]) cylinder(h=len, r=dia/2);
86 translate([-dia/2, 0, 0])
87 cube([dia, len, effheight + dia/2]);
95 TubeThing(0, tubedia+tubetubethick*2, -tubetubethick, 0);
99 TubeThing(10, tubedia, 0, 5);
100 translate([-boltholedia/2, mainframeminy - 1, -5])
102 -mainframeminy + 1 - rearwallthick - boltholeslotshorter,
103 mainframemaxz + 10]);
106 translate([mainframeholex, mainframeholey, -30])
107 cylinder(h=basethick+40, r=mainframeholedia/2);
108 translate([keepslotx - keepslotwidth/2,
109 -10, keepslotstartz])
110 cube([keepslotwidth, 20, keepslotlen + 10]);
118 //TubeThing(0, tubedia);