diff --git a/mod/case_rack.scad b/mod/case_rack.scad index d4336f2..1c7ff40 100644 --- a/mod/case_rack.scad +++ b/mod/case_rack.scad @@ -47,16 +47,7 @@ if(case_design == "rack" && side == "bottom") { vertical=[corner_fillet-wallthick,corner_fillet-wallthick,-wallthick,-wallthick], top=[0,0,0,0], bottom=[edge_fillet,edge_fillet,edge_fillet,edge_fillet,edge_fillet], $fn=90); // case upper panel clamp holes - translate([150-gap-wallthick,-gap-adj,case_z-13+4]) - panel_clamp("rear", "sloped", "m2", 6, 18, 5, [true,10,2,"default"]); - translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj, - case_z-13+4]) panel_clamp("front", "sloped", "m2", 6, 18, 5, [true,10,2,"default"]); - if(rack_width == 19) { - translate([300-gap-wallthick,-gap-adj,case_z-13+4]) - panel_clamp("rear", "sloped", "m2", 6, 18, 5, [true,10,2,"default"]); - translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj, - case_z-13+4]) panel_clamp("front", "sloped", "m2", 6, 18, 5, [true,10,2,"default"]); - } + } // rack mounting tabs @@ -72,35 +63,7 @@ if(case_design == "rack" && side == "bottom") { cube([2,depth,case_z-floorthick-2]); } } - // case upper panel clamps - translate([150-gap-wallthick,-gap-adj,case_z-13+4]) - panel_clamp("rear", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]); - translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj, - case_z-13+4]) panel_clamp("front", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]); - if(rack_width == 19) { - translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj, - case_z-13+4]) panel_clamp("front", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]); - translate([300-gap-wallthick,-gap-adj,case_z-13+4]) - panel_clamp("rear", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]); - } - - // case floor panel clamps - translate([150-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5]) - panel_clamp("bottom", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]); - if(rack_width == 19) { - translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5]) - panel_clamp("bottom", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]); - } - // top support - translate([-gap,depth-gap-wallthick-18,case_z-floorthick]) rotate([0,0,270]) - panel_clamp("rear", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]); - translate([width-gap-(2*wallthick),depth-gap-wallthick-18,case_z-floorthick]) rotate([0,0,270]) - panel_clamp("front", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]); - - translate([-gap,18-gap,case_z-floorthick]) rotate([0,0,270]) - panel_clamp("rear", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]); - translate([width-gap-(2*wallthick),18-gap,case_z-floorthick]) rotate([0,0,270]) - panel_clamp("front", "sloped", "m2", 6, 18, 5, [false,10,2,"default"]); + // additive accessories if(accessory_name != "none") { @@ -278,73 +241,56 @@ if(case_design == "rack" && side == "bottom") { } } } - // case floor panel clamp holes - translate([150-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5]) - panel_clamp("bottom", "sloped", "m2", 6, 18, 5, [true,10,2,"holes"]); - if(rack_width == 19) { - translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5]) - panel_clamp("bottom", "sloped", "m2", 6, 18, 5, [true,10,2,"holes"]); - } - // case upper panel clamp holes - translate([150-gap-wallthick,-gap-adj,case_z-13+4]) - panel_clamp("rear", "sloped", "m2", 6, 18, 5, [true,10,2,"holes"]); - translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj, - case_z-13+4]) panel_clamp("front", "sloped", "m2", 6, 18, 5, [true,10,2,"holes"]); - if(rack_width == 19) { - translate([300-gap-wallthick,-gap-adj,case_z-13+4]) - panel_clamp("rear", "sloped", "m2", 6, 18, 5, [true,10,2,"holes"]); - translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj, - case_z-13+4]) panel_clamp("front", "sloped", "m2", 6, 18, 5, [true,10,2,"holes"]); - } + // case lower block assembly holes // rear left translate([150-gap-wallthick-rack_asm_size-adj,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=rack_asm_hole, h=rack_asm_gap+(2*rack_asm_size)+(2*adj)); // rear left nut translate([150-gap-wallthick-rack_asm_size-adj,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=4*2/sqrt(3), h=2, $fn=6); // rear left recess translate([150-gap-wallthick+rack_asm_size+adj+rack_asm_gap-2,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=4*2/sqrt(3), h=2); // rear right translate([300-gap-wallthick-rack_asm_size-adj,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=rack_asm_hole, h=rack_asm_gap+(2*rack_asm_size)+(2*adj)); // rear right nut translate([300-gap-wallthick-rack_asm_size-adj,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=4*2/sqrt(3), h=2, $fn=6); // rear right recess translate([300-gap-wallthick+rack_asm_size+adj+rack_asm_gap-2,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=4*2/sqrt(3), h=2); // front left translate([150-gap-wallthick-rack_asm_size-adj,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj, - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=rack_asm_hole, h=rack_asm_gap+(2*rack_asm_size)+(2*adj)); // front left nut translate([150-gap-wallthick-rack_asm_size-adj,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj, - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=4*2/sqrt(3), h=2, $fn=6); // front left recess translate([150-gap-wallthick+rack_asm_size+adj+rack_asm_gap-2,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj, - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=4*2/sqrt(3), h=2); // front right translate([300-gap-wallthick-rack_asm_size-adj,depth-gap-(2*wallthick)+adj-(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=rack_asm_hole, h=rack_asm_gap+(2*rack_asm_size)+(2*adj)); // front right nut translate([300-gap-wallthick-rack_asm_size-adj,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj, - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=4*2/sqrt(3), h=2, $fn=6); // front right recess translate([300-gap-wallthick+rack_asm_size+adj+rack_asm_gap-2,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj, - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) + floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) cylinder(d=4*2/sqrt(3), h=2); } @@ -755,89 +701,7 @@ if(case_design == "rack" && side == "bottom") { } } // case lower assembly blocks - difference() { - union() { - // rear left - left side - translate([150-gap-wallthick-rack_asm_size,-gap-adj,floorthick-adj]) - cube([rack_asm_size,rack_asm_size,rack_asm_size]); - // rear left - right side - translate([150-gap-wallthick+rack_asm_gap,-gap-adj,floorthick-adj]) - cube([rack_asm_size,rack_asm_size,rack_asm_size]); - if(rack_width == 19) { - // rear right - right - translate([300-gap-wallthick+rack_asm_gap,-gap-adj,floorthick-adj]) - cube([rack_asm_size,rack_asm_size,rack_asm_size]); - // rear right - left side - translate([300-gap-wallthick-rack_asm_size,-gap-adj,floorthick-adj]) - cube([rack_asm_size,rack_asm_size,rack_asm_size]); - } - // front left - left - translate([150-gap-wallthick-rack_asm_size,depth-gap-(2*wallthick)-rack_asm_size+adj, - floorthick-adj]) cube([rack_asm_size,rack_asm_size,rack_asm_size]); - // front left - right - translate([150-gap-wallthick+rack_asm_gap, - depth-gap-(2*wallthick)-rack_asm_size+adj,floorthick-adj]) - cube([rack_asm_size,rack_asm_size,rack_asm_size]); - if(rack_width == 19) { - // front right - right - translate([300-gap-wallthick+rack_asm_gap, - depth-gap-(2*wallthick)-rack_asm_size+adj,floorthick-adj]) - cube([rack_asm_size,rack_asm_size,rack_asm_size]); - // front right - left - translate([300-gap-wallthick-rack_asm_size,depth-gap-(2*wallthick)-rack_asm_size+adj, - floorthick-adj]) cube([rack_asm_size,rack_asm_size,rack_asm_size]); - } - } - // case lower block assembly holes - // rear left - translate([150-gap-wallthick-rack_asm_size-adj,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=rack_asm_hole, h=rack_asm_gap+(2*rack_asm_size)+(2*adj)); - // rear left nut - translate([150-gap-wallthick-rack_asm_size-adj,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=4*2/sqrt(3), h=2, $fn=6); - // rear left recess - translate([150-gap-wallthick+rack_asm_size+adj+rack_asm_gap-2,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=4*2/sqrt(3), h=2); - // rear right - translate([300-gap-wallthick-rack_asm_size-adj,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=rack_asm_hole, h=rack_asm_gap+(2*rack_asm_size)+(2*adj)); - // rear right nut - translate([300-gap-wallthick-rack_asm_size-adj,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=4*2/sqrt(3), h=2, $fn=6); - // rear right recess - translate([300-gap-wallthick+rack_asm_size+adj+rack_asm_gap-2,-gap-adj+(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=4*2/sqrt(3), h=2); - // front left - translate([150-gap-wallthick-rack_asm_size-adj,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj, - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=rack_asm_hole, h=rack_asm_gap+(2*rack_asm_size)+(2*adj)); - // front left nut - translate([150-gap-wallthick-rack_asm_size-adj,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj, - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=4*2/sqrt(3), h=2, $fn=6); - // front left recess - translate([150-gap-wallthick+rack_asm_size+adj+rack_asm_gap-2,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj, - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=4*2/sqrt(3), h=2); - // front right - translate([300-gap-wallthick-rack_asm_size-adj,depth-gap-(2*wallthick)+adj-(rack_asm_size/2), - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=rack_asm_hole, h=rack_asm_gap+(2*rack_asm_size)+(2*adj)); - // front right nut - translate([300-gap-wallthick-rack_asm_size-adj,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj, - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=4*2/sqrt(3), h=2, $fn=6); - // front right recess - translate([300-gap-wallthick+rack_asm_size+adj+rack_asm_gap-2,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj, - floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) - cylinder(d=4*2/sqrt(3), h=2); - } + ////////////////////////////////// ok } if(case_design == "rack" && side == "top") { difference() {