3d-printing/my_designs/ACE Screen Cover/ACE_Screen_Cover.scad
2025-12-17 15:28:17 -06:00

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();
}