5 mainframeendthick = 2.5;
11 boltholedia = 6.5 + 0.5;
13 // "slot" refers to the things in the base of the drill press stand
14 backslotedgespace = 71;
16 backslotmid2screwhole = 17;
20 // "keepslot" refers to the screws in the wooden jig block
24 mainframeextraside = 15;
25 mainframeextrafront = 25;
29 mainframeholex = backslotedgespace/2 + slotwidth/sqrt(2) +
30 backslotmid2screwhole / sqrt(2);
32 mainframeholey = -backslotmid2screwhole / sqrt(2);
34 mainframemaxx = mainframeholex + mainframeextraside;
35 mainframeminy = mainframeholey - mainframeextrafront;
36 mainframemaxz = keepslotstartz + keepslotlen;
41 translate([-1, mainframeminy, 0])
42 cube([mainframemaxx+1, -mainframeminy, basethick]);
43 translate([-1, -rearwallthick, 0])
44 cube([mainframemaxx+1, rearwallthick, mainframemaxz]);
45 translate([mainframemaxx,0,0])
47 linear_extrude(height=mainframeendthick)
48 polygon([[-mainframeminy, 0],
52 translate([backslotedgespace/2, 0, 1])
54 linear_extrude(height=slotplugheight+1)
56 [slotwidth * sqrt(2), 0],
57 [slotplugdepth / sqrt(2) + slotwidth * sqrt(2),
59 [slotplugdepth / sqrt(2), -slotplugdepth]]);
64 module TubeThing(extralen, dia, extraheight, underheight){
65 effheight = tubetubetopslop + extraheight + underheight;
66 len = -mainframeminy + extralen * 2;
67 translate([0, mainframeminy - extralen, -underheight]) {
68 translate([0,0, dia/2 + effheight])
69 rotate([-90,0,0]) cylinder(h=len, r=dia/2);
70 translate([-dia/2, 0, 0])
71 cube([dia, len, effheight + dia/2]);
79 TubeThing(0, tubedia+tubetubethick*2, -tubetubethick, 0);
83 TubeThing(10, tubedia, 0, 5);
84 translate([-boltholedia/2, mainframeminy - 1, -5])
85 cube([boltholedia, -mainframeminy + 1 - rearwallthick - 0.1,
94 //TubeThing(0, tubedia);