// -*- C -*-
-holedia = 25.4;
+holedia = 25;
+tapethick = 1.5;
+cutoutsz= 15;
+innerz = 11;
-sidewidth = 5;
-tapewidth = 7;
-tapethick = 1;
+sidesflatbase = 2;
+endsflatbase = 8;
-cutoutsz= 10;
+basex = holedia + endsflatbase*2;
+basey = holedia + sidesflatbase*2;
-innerz = 10;
-
-basex = holedia + sidewidth*2;
-basey = holedia + tapewidth*2;
-
-bevelz = 3;
+bevely = 2.75;
bevelslope = 0.75;
-bevely = bevelz * bevelslope;
+bevelz = bevely / bevelslope;;
+basebevelt = 3;
sideslop = 0.5;
basebaset = 2;
-sidewallt = 3;
+sidewallt = 2;
-lidt = 2;
+lidt = 1.3;
endwallt = 2;
zslop = 0.75;
endslop = 0.75;
difference(){
union(){
for (mir=[0,1]) mirror([0,mir,0]) {
- translate([0, basey/2 - sidewallt, 0])
- sheared_cube([basex, sidewallt, bevelz], 0, bevelslope);
+ translate([0, basey/2 - basebevelt, 0])
+ sheared_cube([basex, basebevelt, bevelz], 0, bevelslope);
cube([basex, basey/2, basebaset]);
}
}
module Lid(){
lidx = basex + endslop + endwallt;
for (mir=[0,1]) mirror([0,mir,0]) {
- translate([0, basey/2 + sideslop, 0])
- sheared_cube([lidx, sidewallt, bevelz], 0, bevelslope);
- translate([0, basey/2 + sideslop + bevely, -tapethick])
- cube([lidx, sidewallt, innerz + tapethick + lidt + zslop]);
+ translate([0, basey/2 + sideslop + bevely, 0])
+ rotate([90,0,90])
+ linear_extrude(height = lidx)
+ polygon([[0, 0],
+ [-bevely, 0],
+ [0, bevelz],
+ [0, innerz + lidt + zslop],
+ [sidewallt, innerz + lidt + zslop],
+ [sidewallt, -tapethick],
+ [0, -tapethick]]);
translate([0, -1, innerz + zslop])
cube([lidx, 1 + basey/2 + sideslop + bevely + sidewallt, lidt]);
translate([basex + endslop, -1, -tapethick])
Base(-(basey/2 + bevely - cutoutsz/2));
}
+module BaseCNone(){ ////toplevel
+ Base(basey);
+}
+
+module Demo(){ ////toplevel
+ BaseCTop();
+ %Lid();
+}
+
//BaseCTop();
//BaseCMid();
//BaseCBot();
+//BaseCNone();
+//Lid();
//LidT();
+//Demo();