8 mainframeendthick = 2.5;
14 boltholedia = 6.5 + 0.5;
15 boltholeslotshorter = 6;
16 mainframeholedia = 5 + 0.5;
18 // "slot" refers to the things in the base of the drill press stand
19 backslotedgespace = 71;
21 backslotmid2screwhole = 17;
25 // "keepslot" refers to the screws in the wooden jig block
28 keepslotx = backslotedgespace / 2;
31 mainframeextraside = 15;
32 mainframeextrafront = 25;
34 rearwallstrengthwidth = 10;
39 mainframeholex = backslotedgespace/2 + slotwidth/sqrt(2) +
40 backslotmid2screwhole / sqrt(2);
42 mainframeholey = -backslotmid2screwhole / sqrt(2);
44 mainframemaxx = mainframeholex + mainframeextraside;
45 mainframeminy = mainframeholey - mainframeextrafront;
46 mainframemaxz = keepslotstartz + keepslotlen;
51 translate([-1, mainframeminy, 0])
52 cube([mainframemaxx+1, -mainframeminy, basethick]);
53 translate([-1, -rearwallthick, 0])
54 cube([mainframemaxx+1, rearwallthick, mainframemaxz]);
56 for (x=[keepslotx - keepslotclear, mainframemaxx - 0.5]) {
59 linear_extrude(height=mainframeendthick)
60 polygon([[-mainframeminy, 0],
65 translate([backslotedgespace/2, 0, 1])
67 linear_extrude(height=slotplugheight+1)
69 [slotwidth * sqrt(2), 0],
70 [slotplugdepth / sqrt(2) + slotwidth * sqrt(2),
72 [slotplugdepth / sqrt(2), -slotplugdepth]]);
74 -rearwallthick - boltholeslotshorter + 0.2,
75 tubedia + tubetubetopslop + tubetubethick + 4])
76 cube([keepslotx - keepslotclear + 1,
77 boltholeslotshorter + 0.5,
78 rearwallstrengthwidth]);
83 module TubeThing(extralen, dia, extraheight, underheight){
84 effheight = tubetubetopslop + extraheight + underheight;
85 len = -mainframeminy + extralen * 2;
86 translate([0, mainframeminy - extralen, -underheight]) {
87 translate([0,0, dia/2 + effheight])
88 rotate([-90,0,0]) cylinder(h=len, r=dia/2);
89 translate([-dia/2, 0, 0])
90 cube([dia, len, effheight + dia/2]);
98 TubeThing(0, tubedia+tubetubethick*2, -tubetubethick, 0);
101 translate([0,0,-0.1])
102 TubeThing(10, tubedia, 0, 5);
103 translate([-boltholedia/2, mainframeminy - 1, -5])
105 -mainframeminy + 1 - rearwallthick - boltholeslotshorter,
106 mainframemaxz + 10]);
109 translate([mainframeholex, mainframeholey, -30])
110 cylinder(h=basethick+40, r=mainframeholedia/2);
111 translate([keepslotx - keepslotwidth/2,
112 -10, keepslotstartz])
113 cube([keepslotwidth, 20, keepslotlen + 10]);
121 //TubeThing(0, tubedia);