X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=cable-hole-trunking-cover.scad;h=07daa9d0579f8a1e9e42a78dadc927ed935909c4;hb=eabf9ef0111c0eecec6e9469fd78b427d9496d06;hp=9551d1e429adb67217e407952cd8f91360b78501;hpb=fbc81c95fdc3e34f74395960cea059bcc208f0fe;p=reprap-play.git diff --git a/cable-hole-trunking-cover.scad b/cable-hole-trunking-cover.scad index 9551d1e..07daa9d 100644 --- a/cable-hole-trunking-cover.scad +++ b/cable-hole-trunking-cover.scad @@ -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();