include module luniebox_front() { difference() { union() { cube([length+depth,height+depth,depth]); // screws speaker right translate([height/2-22.5,height/2-22.5,depth]) screw(); translate([height/2+22.5,height/2-22.5,depth]) screw(); translate([height/2-22.5,height/2+22.5,depth]) screw(); translate([height/2+22.5,height/2+22.5,depth]) screw(); // screws speaker left translate([length-height/2-22.5,height/2-22.5,depth]) screw(); translate([length-height/2+22.5,height/2-22.5,depth]) screw(); translate([length-height/2-22.5,height/2+22.5,depth]) screw(); translate([length-height/2+22.5,height/2+22.5,depth]) screw(); // clips translate([clip_space,0,0]) clip_screw(); translate([clip_space,height-clip_h+depth,0]) clip_screw(); translate([clip_length_space,height-clip_h+depth,0]) clip_screw(); translate([clip_length_space,0,0]) clip_screw(); translate([clip_h,clip_space,0]) rotate([0,0,90]) clip_screw(); translate([clip_h,clip_height_space,0]) rotate([0,0,90]) clip_screw(); translate([length+depth,clip_space,0]) rotate([0,0,90]) clip_screw(); translate([length+depth,clip_height_space,0]) rotate([0,0,90]) clip_screw(); } // speaker hole right translate([height/2,height/2,-depth / 2]) cylinder(d=50,h=depth*2); // speaker hole left translate([length-height/2,height/2,-depth / 2]) cylinder(d=50,h=depth * 2); // screw holes speaker right translate([height/2-22.5,height/2-22.5,depth]) screw_hole(depth); translate([height/2+22.5,height/2-22.5,depth]) screw_hole(depth); translate([height/2-22.5,height/2+22.5,depth]) screw_hole(depth); translate([height/2+22.5,height/2+22.5,depth]) screw_hole(depth); // screw holes speaker left translate([length-height/2-22.5,height/2-22.5,depth]) screw_hole(depth); translate([length-height/2+22.5,height/2-22.5,depth]) screw_hole(depth); translate([length-height/2-22.5,height/2+22.5,depth]) screw_hole(depth); translate([length-height/2+22.5,height/2+22.5,depth]) screw_hole(depth); } } luniebox_front();