59 lines
1.4 KiB
OpenSCAD
59 lines
1.4 KiB
OpenSCAD
|
include<luniebox-helper.scad>
|
||
|
|
||
|
module luniebox_front_panel() {
|
||
|
|
||
|
grill_width=2;
|
||
|
|
||
|
difference() {
|
||
|
union() {
|
||
|
cube([length+depth,height+depth,depth]);
|
||
|
}
|
||
|
// speaker hole middle
|
||
|
translate([length/2,height/2,-depth / 2])
|
||
|
cylinder(d=103,h=depth*2);
|
||
|
}
|
||
|
for ( i = [grill_width*2 : grill_width*2 : 51.5] ) {
|
||
|
translate([length/2,height/2,depth/2])
|
||
|
difference () {
|
||
|
cylinder (h = depth, r=i+grill_width/2, center = true);
|
||
|
cylinder (h = depth*2, r=i-grill_width/2, center = true);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
translate([length/2,height/2,0])
|
||
|
rotate([0,0,-45])
|
||
|
translate([-grill_width/2,grill_width*1.5,0])
|
||
|
cube([grill_width,51.5,depth]);
|
||
|
|
||
|
translate([length/2,height/2,0])
|
||
|
rotate([0,0,45])
|
||
|
translate([-grill_width/2,grill_width*1.5,0])
|
||
|
cube([grill_width,51.5,depth]);
|
||
|
|
||
|
translate([length/2,height/2,0])
|
||
|
rotate([0,0,-135])
|
||
|
translate([-grill_width/2,grill_width*1.5,0])
|
||
|
cube([grill_width,51.5,depth]);
|
||
|
|
||
|
translate([length/2,height/2,0])
|
||
|
rotate([0,0,135])
|
||
|
translate([-grill_width/2,grill_width*1.5,0])
|
||
|
cube([grill_width,51.5,depth]);
|
||
|
|
||
|
|
||
|
// screws front
|
||
|
translate([5,5+depth,depth])
|
||
|
screw(h=front_offset-depth);
|
||
|
translate([5,width-5+depth,depth])
|
||
|
screw(h=front_offset-depth);
|
||
|
translate([length-5,5+depth,depth])
|
||
|
screw(h=front_offset-depth);
|
||
|
translate([length-5,width-5+depth,depth])
|
||
|
screw(h=front_offset-depth);
|
||
|
}
|
||
|
|
||
|
luniebox_front_panel();
|
||
|
|
||
|
|
||
|
|