63 lines
1.6 KiB
OpenSCAD
63 lines
1.6 KiB
OpenSCAD
$fn=180;
|
|
|
|
// ACE Screen Dimensions
|
|
screen_width=120.25;
|
|
screen_height=81;
|
|
screen_depth=10;
|
|
screen_radius=5; // Est. - need to actually measure
|
|
left_long_edge=62;
|
|
left_short_edge=40;
|
|
|
|
// Screen Cover Frame Dimensions
|
|
frame_thickness=1;
|
|
frame_width=screen_width+(frame_thickness*2);
|
|
frame_height=screen_height+(frame_thickness*2);
|
|
frame_depth=screen_depth+frame_thickness;
|
|
|
|
// Screen Cover Object Dimensions
|
|
cover_width=frame_width-(frame_thickness*10);
|
|
cover_height=frame_height-(frame_thickness*10);
|
|
cover_depth=frame_thickness;
|
|
|
|
|
|
// Screen Cover Frame Object
|
|
module screen_cover_frame() {
|
|
cube([frame_width, frame_height, frame_depth], center=true);
|
|
}
|
|
|
|
// Screen Cover Frame Cutout Object
|
|
module screen_cover_frame_cutout() {
|
|
coords=[
|
|
[0,0],
|
|
[0,(frame_height-left_long_edge)],
|
|
[frame_depth,(frame_height-left_short_edge)],
|
|
[frame_depth,0]
|
|
];
|
|
translate([0, -(frame_height-left_short_edge)/2, (frame_depth/2)])
|
|
rotate([0,90,0])
|
|
linear_extrude(height = frame_thickness, center = true)
|
|
polygon(points=coords);
|
|
}
|
|
|
|
// Screen Cover Object
|
|
module screen_cover() {
|
|
cube([cover_width, cover_height, cover_depth], center=true);
|
|
}
|
|
|
|
// ACE Screen Object
|
|
module ace_screen() {
|
|
cube([screen_width, screen_height, screen_depth], center=true);
|
|
}
|
|
|
|
difference(){
|
|
screen_cover_frame();
|
|
|
|
translate([0, 0, (frame_depth-frame_thickness)/2])
|
|
screen_cover();
|
|
|
|
translate([-((frame_width-frame_thickness)/2), -(frame_height-(frame_height-left_short_edge))/2, 0])
|
|
screen_cover_frame_cutout();
|
|
|
|
translate([0, 0, -(frame_thickness/2)])
|
|
ace_screen();
|
|
}
|