// Z axis cover rev 3 $fa = 1; $fs = 0.4; pleng = 175; // size of plate pwide = 125; pthick = 4; chigh = 24; // internal 'headroom' wall = 3; // wall thickness iwall = 6; // inner wall thickness threadX = 118.61; // correct by remeasurement threadY = 39.47; dhole = 43; nhigh = 33.6; // height of chimney nwall = 6; // chimney wall tol = 0.3; // extra margin for interal dimensions union(){ difference(){ union(){ cube([pleng+tol+2*wall, pwide+tol+2*wall, wall]); // outer wall cube([pleng+tol+2*wall, wall, chigh+wall+pthick]); cube([wall, pwide+tol+2*wall, chigh+wall+pthick]); translate([0,pwide+tol+wall, 0]) cube([pleng+tol+2*wall, wall, chigh+wall+pthick]); translate([pleng+tol+wall,0, 0]) cube([wall, pwide+tol+2*wall, chigh+wall+pthick]); // inner wall cube([pleng+tol+2*wall, iwall, chigh+wall]); cube([iwall, pwide+tol+2*wall, chigh+wall]); translate([0,pwide+tol+2*wall-iwall, 0]) cube([pleng+tol+2*wall, iwall, chigh+wall]); translate([pleng+tol+2*wall-iwall,0, 0]) cube([iwall, pwide+tol+2*wall, chigh+wall]); // mounting hole support translate([pleng+tol+wall-75, pwide+tol+wall-35, 0]) cylinder(d=15, h=chigh+wall); // wall to stop the cables translate([wall+33, pwide+tol+wall-24, wall]) rotate([0,0,-18]) cube([70, 3, chigh]); } union(){ // screw cutout translate([threadX+wall, threadY+wall, wall/2-0.01]) cylinder(h=wall+0.04, d=dhole+nwall, center=true); // text cutout translate([5,-1,4]) cube([55,2,17]); // mounting hole translate([pleng+tol+wall-75, pwide+tol+wall-35, -0.01]) cylinder(d=6.6, h=chigh+wall+4); // switch cutout translate([-0.01, 20, wall+5]) cube([iwall+0.02, 30.0, 10.6]); // led translate([-0.01,12, wall+10.3]) rotate([0,90,0]) cylinder(d=8, h=iwall+0.02); // cut out in mounting screw sleeve translate([pleng+tol+wall-71, pwide+tol+wall-45, wall]) cube([5, 20, chigh+0.01]); } } translate([55,4,16]) rotate([90,180,0]) linear_extrude(4) text("NigSoft", 10, font = "Liberation Sans"); }