]> www.fi.muni.cz Git - things.git/commitdiff
BigTreeTech TFT3.5 display cover
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 22 Jun 2023 06:30:28 +0000 (08:30 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 22 Jun 2023 06:30:28 +0000 (08:30 +0200)
btt-tft35-cover.scad [new file with mode: 0644]

diff --git a/btt-tft35-cover.scad b/btt-tft35-cover.scad
new file mode 100644 (file)
index 0000000..43fcf36
--- /dev/null
@@ -0,0 +1,75 @@
+eps = 0.01;
+infty = 200;
+wall = 1.5;
+
+body_h = 87 + 2 + 2*wall;
+body_w = 93 + 2 + 2*wall;
+
+screen_w = 75.5;
+screen_h = 51;
+
+screw_hd = 88;
+screw_vd = 65;
+
+screw_off = 3.5 + wall;
+screw_d = 3;
+screw_support_d = 9;
+
+screw_to_disp_x = 5;
+screw_to_disp_y = 6.5;
+
+screen_to_screw_z = 8;
+
+screw_to_reset_y = 12.5+screw_vd;
+reset_button_d = 10;
+reset_lever_w = 30;
+reset_lever_h = reset_button_d/2;
+
+screw_to_dial_x = 75;
+screw_to_dial_y = 10+screw_vd;
+dial_hole_d = 7;
+
+
+body_z = 20 + wall;
+difference() {
+       cube([body_w, body_h, body_z]);
+       difference() { // inner space w/o screw supports
+               translate([wall, wall, wall])
+                       cube([body_w-2*wall, body_h-2*wall, body_z]);
+               for (x = [0, 1]) for (y = [0, 1])
+                       translate([screw_off + x*screw_hd,
+                               screw_off + y*screw_vd, -eps]) 
+                       cylinder (r = screw_support_d/2, h = screen_to_screw_z + 2*eps);
+       }
+       // screen hole
+       hull() {
+               translate([screw_off + screw_to_disp_x,
+                       screw_off + screw_to_disp_y, wall])
+                       cube([screen_w, screen_h, eps]);
+               translate([screw_off + screw_to_disp_x - wall/2,
+                       screw_off + screw_to_disp_y - wall/2, -eps])
+                       cube([screen_w+wall, screen_h+wall, eps]);
+       }
+       // screw holes
+       for (x = [0, 1]) for (y = [0, 1])
+       translate([screw_off + x*screw_hd, screw_off + y*screw_vd, -eps]) 
+               cylinder (r = screw_d/2, h = body_z + 2*eps);
+       // dial hole
+       translate([screw_off + screw_to_dial_x,
+               screw_off + screw_to_dial_y, -eps])
+               cylinder(r = dial_hole_d/2, h = wall + 2*eps);
+
+       // reset_button
+       translate([screw_off + screw_hd/2, screw_off + screw_to_reset_y, -eps])
+       difference() {
+               union() {
+                       cylinder(r = reset_button_d/2+wall, h = wall + 2*eps);
+                       translate([-reset_lever_w, -reset_lever_h/2-wall, 0])
+                               cube([reset_lever_w, reset_lever_h + 2*wall, wall + 2*eps]);
+               }
+               translate([0, 0, -eps])
+               cylinder(r = reset_button_d/2, h = wall + 4*eps);
+               translate([-reset_lever_w-eps, -reset_lever_h/2, -eps])
+                               cube([reset_lever_w, reset_lever_h, wall + 4*eps]);
+       }
+}