From 73b26ab18808a73dd63484a5c8e10f2f4926b9dd Mon Sep 17 00:00:00 2001 From: nedko Date: Wed, 8 Mar 2023 10:52:45 +0200 Subject: [PATCH] Added top part of box --- openscad/top.scad | 71 ++++++++++++++++++++++++++++++++++++++++++++++ stl/top.stl | Bin 0 -> 101684 bytes 2 files changed, 71 insertions(+) create mode 100644 openscad/top.scad create mode 100644 stl/top.stl diff --git a/openscad/top.scad b/openscad/top.scad new file mode 100644 index 0000000..45ee6e2 --- /dev/null +++ b/openscad/top.scad @@ -0,0 +1,71 @@ +size_wall = 1.5; + +size_x = 105; +size_y = 50; +size_z = 12; + +hole_dist_x = 35; +hole_dist_y = 20.5; + +hole_rad = 4 / 2; + +display_x = 60; +display_y = 25; +display_z = 3; + +btn_size = 8; +btn_dist_x = 45; +btn_dist_y = 20; + +union() +{ + difference() + { + // Main block + cube([size_x + size_wall * 2 + 1, size_y + size_wall * 2 + 1, size_z + size_wall], center = true); + + // Hollow + translate([0, 0, size_wall]) + { + cube([size_x + 1, size_y + 1, size_z + size_wall], center = true); + } + + // Display Cut + cube([display_x, display_y, size_z + size_wall + 1], center = true); + + // Buttons + for (x = [-1:2:1]) + { + translate([x * btn_dist_x, btn_dist_y, 0]) + { + cube([btn_size, btn_size, size_z + size_wall + 1], center = true); + } + } + } + + // Mounts + for (x = [-1:2:1]) + { + for (y = [-1:2:1]) + { + translate([x * hole_dist_x, y * hole_dist_y, 0]) + { + difference() + { + cylinder(size_z + size_wall, hole_rad + size_wall, hole_rad + size_wall, $fn = 60, center = true); + cylinder(size_z + size_wall + 1, hole_rad, hole_rad, $fn = 60, center = true); + } + } + } + } + + // Display Outline + translate([0, 0, (display_z + size_wall) / 2 - (size_z + size_wall) / 2]) + { + difference() + { + cube([display_x + 2 * size_wall, display_y + 2 * size_wall, display_z + size_wall], center = true); + cube([display_x, display_y, display_z + size_wall + 1], center = true); + } + } +} diff --git a/stl/top.stl b/stl/top.stl new file mode 100644 index 0000000000000000000000000000000000000000..96d634a8a2ab2ff9c39235bd54ded54a3e3105bf GIT binary patch literal 101684 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