10 mainframeendthick = 2.5;
16 boltholedia = 6.5 + 0.5;
17 boltholeslotshorter = 6;
18 mainframeholedia = 5 + 0.5;
20 // "slot" refers to the things in the base of the drill press stand
21 backslotedgespace = 71;
23 backslotmid2screwhole = 17;
27 // "keepslot" refers to the screws in the wooden jig block
30 keepslotx = backslotedgespace / 2;
33 mainframeextraside = 15;
34 mainframeextrafront = 25;
36 rearwallstrengthwidth = 10;
41 mainframeholex = backslotedgespace/2 + slotwidth/sqrt(2) +
42 backslotmid2screwhole / sqrt(2);
44 mainframeholey = -backslotmid2screwhole / sqrt(2);
46 mainframemaxx = mainframeholex + mainframeextraside;
47 mainframeminy = mainframeholey - mainframeextrafront;
48 mainframemaxz = keepslotstartz + keepslotlen;
53 translate([-1, mainframeminy, 0])
54 cube([mainframemaxx+1, -mainframeminy, basethick]);
55 translate([-1, -rearwallthick, 0])
56 cube([mainframemaxx+1, rearwallthick, mainframemaxz]);
58 for (x=[keepslotx - keepslotclear, mainframemaxx - 0.5]) {
61 linear_extrude(height=mainframeendthick)
62 polygon([[-mainframeminy, 0],
67 translate([backslotedgespace/2, 0, 1])
69 linear_extrude(height=slotplugheight+1)
71 [slotwidth * sqrt(2), 0],
72 [slotplugdepth / sqrt(2) + slotwidth * sqrt(2),
74 [slotplugdepth / sqrt(2), -slotplugdepth]]);
76 -rearwallthick - boltholeslotshorter + 0.2,
77 tubedia + tubetubetopslop + tubetubethick + 4])
78 cube([keepslotx - keepslotclear + 1,
79 boltholeslotshorter + 0.5,
80 rearwallstrengthwidth]);
85 module TubeThing(extralen, dia, extraheight, underheight){
86 effheight = tubetubetopslop + extraheight + underheight;
87 len = -mainframeminy + extralen * 2;
88 translate([0, mainframeminy - extralen, -underheight]) {
89 translate([0,0, dia/2 + effheight])
90 rotate([-90,0,0]) cylinder(h=len, r=dia/2);
91 translate([-dia/2, 0, 0])
92 cube([dia, len, effheight + dia/2]);
100 TubeThing(0, tubedia+tubetubethick*2, -tubetubethick, 0);
103 translate([0,0,-0.1])
104 TubeThing(10, tubedia, 0, 5);
105 translate([-boltholedia/2, mainframeminy - 1, -5])
107 -mainframeminy + 1 - rearwallthick - boltholeslotshorter,
108 mainframemaxz + 10]);
111 translate([mainframeholex, mainframeholey, -30])
112 cylinder(h=basethick+40, r=mainframeholedia/2);
113 translate([keepslotx - keepslotwidth/2,
114 -10, keepslotstartz])
115 cube([keepslotwidth, 20, keepslotlen + 10]);
123 //TubeThing(0, tubedia);