chiark / gitweb /
cable-hole-trunking-cover: break back wall out, nfc
[reprap-play.git] / cable-hole-trunking-cover.scad
index 9551d1e429adb67217e407952cd8f91360b78501..07daa9d0579f8a1e9e42a78dadc927ed935909c4 100644 (file)
@@ -23,6 +23,7 @@ sidewallt = 3;
 lidt = 2;
 endwallt = 2;
 zslop = 0.75;
+endslop = 0.75;
 
 module sheared_cube(sz, xperz, yperz) {
   multmatrix([[1,0,xperz,0],
@@ -39,31 +40,38 @@ module Base(){
        translate([0, basey/2 - sidewallt, 0])
          sheared_cube([basex, sidewallt, bevelz], 0, bevelslope);
        cube([basex, basey/2, basebaset]);
-       rotate([90, 0, 90])
-         linear_extrude(height=endwallt)
-         polygon([[-0.1,             0],
-                  [basey/2,          0],
-                  [basey/2 + bevely, bevelz],
-                  [basey/2 + bevely, innerz],
-                  [-0.1,             innerz]]);
       }
     }
     translate([basex/2, 0, -1])
       cylinder(r=holedia/2, h=bevelz+2);
   }
+  difference(){
+    for (mir=[0,1]) mirror([0,mir,0]) {
+      rotate([90, 0, 90])
+       linear_extrude(height=endwallt)
+       polygon([[-0.1,             0],
+                [basey/2,          0],
+                [basey/2 + bevely, bevelz],
+                [basey/2 + bevely, innerz],
+                [-0.1,             innerz]]);
+    }
+  }
 }
 
 module Lid(){
-  lidx = basex;
+  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, 0, innerz + zslop])
-      cube([lidx, basey/2 + sideslop + bevely + sidewallt, lidt]);
+    translate([0, -1, innerz + zslop])
+      cube([lidx, 1 + basey/2 + sideslop + bevely + sidewallt, lidt]);
+    translate([basex + endslop, -1, -tapethick])
+      cube([endwallt, 1 + basey/2 + sideslop + bevely + sidewallt,
+           tapethick + innerz + zslop + 0.1]);
   }
 }
 
 Base();
-Lid();
+%Lid();