chiark / gitweb /
tube-crossdrill-jig: sort out slot plug shape
[reprap-play.git] / tube-crossdrill-jig.scad
index ddcea4c9bacd2f9ed61adfd70cefaa44698ac47e..5619e93eb649a86b1a4d34be12698bc6ec5a826e 100644 (file)
@@ -22,7 +22,10 @@ backslotedgespace = 71;
 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;
@@ -47,6 +50,14 @@ mainframemaxx = mainframeholex + mainframeextraside;
 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]) {
@@ -68,10 +79,11 @@ module MainFrame(){
        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])