// -*- C -*-
+//$fs=0.1;
+//$fa=3;
+$fs=0.2;
+$fa=6;
+
rearwallthick = 3;
basethick = 3;
mainframeendthick = 2.5;
-tubedia=16;
+tubedia = 16 + 0.8;
tubetubethick=2;
tubetubetopslop=1;
boltholedia = 6.5 + 0.5;
+boltholeslotshorter = 6;
mainframeholedia = 5 + 0.5;
// "slot" refers to the things in the base of the drill press stand
slotwidth = 11.5;
backslotmid2screwhole = 17;
slotplugheight = 5.5;
-slotplugdepth = 10;
+slotplugshorterlen = 8;
+slotpluglongerlen = 18;
+
+slotslope = 11.0 / 18.5;
// "keepslot" refers to the screws in the wooden jig block
keepslotstartz = 20;
mainframeextraside = 15;
mainframeextrafront = 25;
+rearwallstrengthwidth = 10;
+keepslotclear = 10;
+
// computed values
mainframeholex = backslotedgespace/2 + slotwidth/sqrt(2) +
mainframeminy = mainframeholey - mainframeextrafront;
mainframemaxz = keepslotstartz + keepslotlen;
+slotslopediag = sqrt(1 + slotslope*slotslope);
+slotwidthx = slotwidth * slotslopediag;
+
+slotxperlen = slotslope / slotslopediag;
+slotyperlen = 1 / slotslopediag;
+
+echo(slotslope, slotslopediag, slotwidthx);
+
module MainFrame(){
for (m=[0,1]) {
mirror([m,0,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]]);
+
+ for (x=[keepslotx - keepslotclear, mainframemaxx - 0.5]) {
+ translate([x,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]]);
+ [slotwidthx, 0],
+ [slotwidthx + slotplugshorterlen * slotxperlen,
+ -slotplugshorterlen * slotyperlen],
+ [slotpluglongerlen * slotxperlen,
+ -slotpluglongerlen * slotyperlen]]);
+ translate([-1,
+ -rearwallthick - boltholeslotshorter + 0.2,
+ tubedia + tubetubetopslop + tubetubethick + 4])
+ cube([keepslotx - keepslotclear + 1,
+ boltholeslotshorter + 0.5,
+ rearwallstrengthwidth]);
}
}
}
TubeThing(10, tubedia, 0, 5);
translate([-boltholedia/2, mainframeminy - 1, -5])
cube([boltholedia,
- -mainframeminy + 1 - rearwallthick - 0.1,
+ -mainframeminy + 1 - rearwallthick - boltholeslotshorter,
mainframemaxz + 10]);
for (m=[0,1]) {
mirror([m,0,0]) {
//MainFrame();
//TubeThing(0, tubedia);
-Jig();
+rotate([-90,0,0])
+ Jig();