chiark / gitweb /
maglite-holder: photo
[reprap-play.git] / cable-hole-trunking-cover.scad
index 9491027b75737603bdd822bcf6bf2be9f2addadd..ed2bc31534d42b20673b0fbf58d245991d483ba8 100644 (file)
@@ -1,28 +1,27 @@
 // -*- 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;
@@ -40,8 +39,8 @@ module Base(cutouty){
   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]);
       }
     }
@@ -68,10 +67,16 @@ module Base(cutouty){
 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])
@@ -92,6 +97,23 @@ module BaseCTop(){ ////toplevel
   Base(basey/2 + bevely - cutoutsz/2);
 }
 
+module BaseCBot(){ ////toplevel
+  Base(-(basey/2 + bevely - cutoutsz/2));
+}
+
+module BaseCNone(){ ////toplevel
+  Base(basey);
+}
+
+module Demo(){ ////toplevel
+  BaseCTop();
+  %Lid();
+}
+
 //BaseCTop();
 //BaseCMid();
+//BaseCBot();
+//BaseCNone();
+//Lid();
 //LidT();
+//Demo();