X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=cable-hole-trunking-cover.scad;h=744c923abc1274e0ad3bfd76a56d42cdfaa1caa7;hp=07daa9d0579f8a1e9e42a78dadc927ed935909c4;hb=f301861f3d6b83a67913d257b50fa3aab65422cf;hpb=eabf9ef0111c0eecec6e9469fd78b427d9496d06 diff --git a/cable-hole-trunking-cover.scad b/cable-hole-trunking-cover.scad index 07daa9d..744c923 100644 --- a/cable-hole-trunking-cover.scad +++ b/cable-hole-trunking-cover.scad @@ -6,6 +6,8 @@ sidewidth = 5; tapewidth = 7; tapethick = 1; +cutoutsz= 10; + innerz = 10; basex = holedia + sidewidth*2; @@ -14,13 +16,14 @@ basey = holedia + tapewidth*2; bevelz = 3; bevelslope = 0.75; bevely = bevelz * 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; @@ -33,27 +36,32 @@ module sheared_cube(sz, xperz, yperz) { cube(sz); } -module Base(){ +module Base(cutouty){ + echo(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]); } } 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]]); + rotate([90, 0, 90]) { + linear_extrude(height=endwallt) { + difference(){ + for (mir=[0,1]) mirror([mir,0,0]) { + polygon([[-0.1, 0], + [basey/2, 0], + [basey/2 + bevely, bevelz], + [basey/2 + bevely, innerz], + [-0.1, innerz]]); + } + translate([cutouty, 0]) + square(size=[cutoutsz, 3*innerz], center=true); + } } } } @@ -61,10 +69,16 @@ module Base(){ 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]) @@ -73,5 +87,30 @@ module Lid(){ } } -Base(); -%Lid(); +module LidT(){ ////toplevel + rotate([180,0,0]) Lid(); +} + +module BaseCMid(){ ////toplevel + Base(0); +} + +module BaseCTop(){ ////toplevel + Base(basey/2 + bevely - cutoutsz/2); +} + +module BaseCBot(){ ////toplevel + Base(-(basey/2 + bevely - cutoutsz/2)); +} + +module Demo(){ ////toplevel + BaseCTop(); + %Lid(); +} + +//BaseCTop(); +//BaseCMid(); +//BaseCBot(); +//Lid(); +//LidT(); +//Demo();