From 6bd22e41d880cb33d58b40ff102bf2a06a0e1aa1 Mon Sep 17 00:00:00 2001
From: Manuel Schmidt <schmid49@pad.ptb.de>
Date: Mon, 26 Jul 2021 16:45:13 +0200
Subject: [PATCH] =?UTF-8?q?L=C3=B6sung=20f=C3=BCr=20Displaydeckel=20fehlt?=
 =?UTF-8?q?=20nocht?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Gehauese.scad | 137 +++++++++++++++++++++++++++++++++++---------------
 1 file changed, 96 insertions(+), 41 deletions(-)

diff --git a/Gehauese.scad b/Gehauese.scad
index c23d5b1..0c4c32a 100644
--- a/Gehauese.scad
+++ b/Gehauese.scad
@@ -7,15 +7,15 @@
 module raspberryPi(x, y, z) {
     off_x = 7 + x;
     off_y = 2.5 + y;
-    off_z = 5 + z;
+    off_z = 7 + z;
     difference(){
         union(){
             // PCB
-            translate([off_x+0, off_y+0, off_z+0]) color([0, 1, 0],         1.0) cube([85, 56, 1.5]);
+            translate([off_x+0, off_y+0, off_z+0]) color([0, 1, 0], 1.0) cube([85, 56, 1.5]);
             // USB1
-            translate([off_x+70.5, off_y+1.5, off_z+1.5]) color([0.8,           0.8, 0.8], 1.0) cube([    17.5, 15    , 16]);
+            translate([off_x+70.5, off_y+1.5, off_z+1.5]) color([0.8,           0.8, 0.8], 1.0) cube([    17.5, 15, 15.5]);
             // USB2
-            translate([off_x+70.5, off_y+19.5, off_z+1.5]) color([0.8           , 0.8, 0.8], 1.0) cube     ([17.5, 15, 16]);
+            translate([off_x+70.5, off_y+19.5, off_z+1.5]) color([0.8           , 0.8, 0.8], 1.0) cube     ([17.5, 15, 15.5]);
             // ETH1
             translate([off_x+66, off_y+38, off_z+1.5]) color([0.8,          0.8, 0.8], 1.0) cube([22,    16, 13.5]);
             // USB-C
@@ -29,7 +29,7 @@ module raspberryPi(x, y, z) {
             // mSD-Card
             translate([off_x+-2.2, off_y+22.5, off_z+-1.5]) color([         0.0, 0.0, 0.0], 1.0) cube    ([10, 11, 1.5]);
             //Pin-Header
-            translate([off_x+7.5, off_y+49.5, off_z+1.5]) color([0.0,           0.0, 0.0], 1.0) cube([50    , 6, 8.5]);
+            translate([off_x+7.5, off_y+50, off_z+1.5]) color([0.0,           0.0, 0.0], 1.0) cube([50    , 5, 2.5]);
             
             //Mount hole1 - Copper
             translate([off_x+3.5, off_y+3.5, off_z+0.75]) color([           0.83137, 0.68627, 0.2157],     1.0) cylinder(1.6, 3, 3          , $fn=50, true);
@@ -77,11 +77,28 @@ module raspberryPi(x, y, z) {
     }
 }
 
-/*----------------------- Parts of HQ Camera --------------------------------*/
+/*----------------- 3,5" Touchscreen ------------------*/
+module touchscreen(x, y, z) {
+    x = x+7.5;
+    y = y+3.5;
+    z = z+24.5;
+    union() {
+        // PCB
+        translate([x+0, y+0, z+0]) color([0.03137, 0.2784, 0.5529], 1.0) cube([85, 55, 1.5]);
+        // Middlelayer
+        translate([x+1.5, y+0, z+1.5]) color([0.95, 0.95, 0.95], 1.0) cube([82.5, 54, 3.5]);
+        // Display
+        translate([x+1.5, y+0, z+5]) color([0.15, 0.15, 0.15], 1.0) cube([82.5, 54, 1]);
+        // Header
+        translate([x+7, y+49, z-13.5]) color([0.15, 0.15, 0.15], 1.0) cube([33.5, 5, 13.5]);
+    }
+}
+
+/*----------------- Parts of HQ Camera ----------------*/
 
 module camera(x, y, z) {
     x = x+30;
-    y = y+10;
+    y = y+9;
     z = z-8.5;
     union() {
         difference() {
@@ -96,12 +113,12 @@ module camera(x, y, z) {
                 translate([x+4, y+4, z+0.75]) color([0.83137, 0.68627, 0.2157], 1.0) rotate([0, 0               , 90]) cylinder(1.6, 2.5, 2.5,$fn=50, true);
                 // Mounting-hole2
                 translate([x+34, y+4, z+0.75]) color([0.83137, 0.68627, 0.2157], 1.0) rotate([0,                0, 90]) cylinder(1.6, 2.5, 2.5,$fn=50, true);
-                // Mounting-hol3
+                // Mounting-hole3
                 translate([x+34, y+34, z+0.75]) color([0.83137, 0.68627, 0.2157], 1.0) rotate([0,               0, 90]) cylinder(1.6, 2.5, 2.5,$fn=50, true);
                 // Mounting-hole4
                 translate([x+4, y+34, z+0.75]) color([0.83137, 0.68627, 0.2157], 1.0) rotate([0,                0, 90]) cylinder(1.6, 2.5, 2.5,$fn=50, true);
                 // Stativ
-                translate([x+12, y-11, z-10]) color([0.3, 0.3, 0.3], 1) cube([14, 12, 7.62]);
+                translate([x+12, y-11, z-10]) color([0.3, 0.3, 0.3], 1) cube([14, 12, 11]);
             }
             // Mounting-hole1
             translate([x+4, y+4, z+0.75]) rotate([0, 0, 90]) cylinder(1.8, 1.25, 1.25, $fn=50,          true);
@@ -121,7 +138,9 @@ module camera(x, y, z) {
     }
 }
 
-/*---------------------- Parts of Raspberry Pi case ------------------------*/
+
+/*----------- Parts of Raspberry Pi case -------------*/
+
 module screwcylinder(x, y, z, visibility) {
     echo("Schraubzylinder erstellen");
     difference(){
@@ -132,33 +151,33 @@ module screwcylinder(x, y, z, visibility) {
 
 
 module case_left_side(x, y, z, visibility) {
-    translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([2, 62, 40]);
+    translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([2, 62, 28.5]);
 }
 
 module case_right_side(x, y, z, visibility) {
     difference() {
-        translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([2, 62, 40]);
-        translate([x-0.5, y+3.6, z+4.4]) cube([3, 15.75, 16.5]);
-        translate([x-0.5, y+21.5, z+4.4]) cube([3, 15.75, 16.5]);
-        translate([x-0.5, y+40, z+4.4]) cube([3, 17, 14]);
+        translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([2, 62, 28.5]);
+        translate([x-0.5, y+3.6, z+6]) cube([3, 15.75, 17]);
+        translate([x-0.5, y+21.5, z+6]) cube([3, 15.75, 17]);
+        translate([x-0.5, y+40, z+6]) cube([3, 17, 14.5]);
     }
 }
 
 module case_back_side(x, y, z, visibility) {
-    translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([95, 2, 40]);
+    translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([95, 2, 28.5]);
 }
 
 module case_front_side(x, y, z, visibility) {
     difference() {
-        translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([95, 2, 40]);
+        translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([95, 2, 28.5]);
         // Aux-hole
-        translate([x+61, y-0.2, z+8])  rotate([0, 90, 90]) cylinder(5, 3.5, 3.5,$fn=50, true);
+        translate([x+61, y-0.2, z+10])  rotate([0, 90, 90]) cylinder(5, 4, 4,$fn=50, true);
         // HDMI-hole1
-        translate([x+28.7, y-0.2, z+4.3]) cube([8.5, 4, 3.5]);
+        translate([x+28.7, y-0.2, z+6]) cube([8.5, 4, 4]);
         // HDMI-hole2
-        translate([x+42.2, y-0.2, z+4.3]) cube([8.5, 4, 3.5]);
+        translate([x+42.2, y-0.2, z+6]) cube([8.5, 4, 4]);
         // USB-C-hole
-        translate([x+13, y-0.2, z+4.3]) cube([10.5, 4, 3.5]);
+        translate([x+13, y-0.2, z+6]) cube([10.5, 4, 4]);
     }
 }
 
@@ -169,24 +188,32 @@ module case_ground_plate(x, y, z, visibility) {
     }
 }
 
+module case_top_side(x, y, z, visibility) {
+    difference() {
+        translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([95, 62, 2]);
+        translate([x+9, y+4, z-0.5]) color([0.4, 0.4, 0.4], visibility) cube([80, 53, 3]);
+    }
+}
+
 
 module case_raspberryPi(visibility){
     difference() {
         union(){
-            screwcylinder(10.5, 6, 3, visibility);     
-            screwcylinder(68.5, 6, 3, visibility);
-            screwcylinder(68.5, 55, 3, visibility);
-            screwcylinder(10.5, 55, 3, visibility);
+            screwcylinder(10.5, 6, 4.5, visibility);     
+            screwcylinder(68.5, 6, 4.5, visibility);
+            screwcylinder(68.5, 55, 4.5, visibility);
+            screwcylinder(10.5, 55, 4.5, visibility);
             case_right_side(93, 0, 2, visibility);
             case_left_side(0, 0, 2, visibility);
             case_back_side(0, 60, 2, visibility);
             case_front_side(0, 0, 2, visibility);
             case_ground_plate(0, 0, 0, visibility);
+            case_top_side(0, 0, 30.5, visibility); 
         }
     }
 }
 
-/*---------------------------- Parts of cameracase ---------------------------------*/
+/*-------------- Parts of cameracase ------------------*/
 
 module case_camera_ground_plate(x, y, z, visibility) {
     difference() {
@@ -205,7 +232,7 @@ module case_camera_left_side(x, y, z, visibility) {
 module case_camera_front_side(x, y, z, visibility) {
     difference() {
         translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([95, 2, 20]);
-        translate([x+41.5, y-0.2, z-15]) cube([15, 3, 13]);
+        translate([x+41.5, y-0.5, z-0.1]) cube([15, 3, 13.1]);
     }
 }
 
@@ -239,10 +266,10 @@ module case_camera_top_side_edge(x, y, z, visibility) {
             translate([x-0.5, y+24.5, z]) cube([6, 7, 6]);
             translate([x-3.5, y+22, z-1]) cube([6, 12, 7        ]);
         }
-        // Top side
+        // Front side
         difference() {
             union() {
-                translate([x+9, y+57.5, z]) color([0.4,               0.4, 0.4], visibility) cube([78, 2, 5                ]);
+                translate([x+9, y+57.5, z]) color([0.4,               0.4, 0.4], visibility) cube([77, 2, 5                ]);
                 case_camera_edge_screwcylinder(x+5, y+              57, z+2.5, visibility);
                 translate([x+8.5, y+57, z]) color([0.4,               0.4, 0.4], visibility) cube([2, 2.5,               5]);
                 translate([x+3, y+51.5, z]) color([0.4,               0.4, 0.4], visibility) cube([2.5, 2,               5]);
@@ -252,6 +279,33 @@ module case_camera_top_side_edge(x, y, z, visibility) {
             translate([x+1.5, y+53.5, z-0.1]) color([0.4                , 0.4, 0.4], visibility) cube([4, 8                , 6]);
             translate([x+0.5, y+56.5, z-0.1]) color([0.4                , 0.4, 0.4], visibility) cube([8, 4                , 6]);
         }
+     // Right side
+     difference() {
+         union() {
+            translate([x+90.5, y+8.5, z]) color([0.4,         0.4, 0.4], visibility) cube([2, 45, 5]);
+             case_camera_edge_screwcylinder(x+90, y+57,         z+2.5, visibility);
+             translate([x+84.5, y+57, z]) color([0.4,               0.4, 0.4], visibility) cube([2, 2.5,               5]);
+             translate([x+89.5, y+51.5, z]) color([0.4,               0.4, 0.4], visibility) cube([2.5, 2,               5]);
+            }
+            translate([x+85, y+59.5, z-0.1]) color([0.4,               0.4, 0.4], visibility) cube([10, 4,               6]);
+            translate([x+92.5, y+51.5, z-0.1]) color([               0.4, 0.4, 0.4], visibility) cube([4,               10, 6]);
+            translate([x+90.5, y+53.5, z-0.1]) color([               0.4, 0.4, 0.4], visibility) cube([5,               3, 6]);
+            translate([x+86.5, y+57, z-0.1]) color([               0.4, 0.4, 0.4], visibility) cube([5,               3, 6]);
+        }
+    }
+    // Back side
+    difference() {
+        union() {
+            translate([x+3, y+2.5, z]) color([0.4,               0.4, 0.4], visibility) cube([83, 2, 5                ]);
+            case_camera_edge_screwcylinder(x+90, y+5,         z+2.5, visibility);
+            translate([x+84.5, y+3, z]) color([0.4,               0.4, 0.4], visibility) cube([2, 2.5,               5]);
+            translate([x+89.5, y+8.5, z]) color([0.4,               0.4, 0.4], visibility) cube([2.5, 2,               5]);
+        }
+        translate([x+85, y-1.5, z-0.1]) color([0.4,               0.4, 0.4], visibility) cube([10, 4,               6]);
+        translate([x+92.5, y, z-0.1]) color([               0.4, 0.4, 0.4], visibility) cube([4,               10, 6]);
+        translate([x+90.0, y+5.5, z-0.1]) color([               0.4, 0.4, 0.4], visibility) cube([5,               3, 6]);
+        translate([x+86.5, y+2, z-0.1]) color([               0.4, 0.4, 0.4], visibility) cube([15,               3, 6]);
+        translate([x+41, y+2, z+1]) color([               0.4, 0.4, 0.4], visibility) cube([16,               3, 6]);
     }
 }
 
@@ -279,25 +333,26 @@ module case_camera_screwcylinder2(x, y, z, visibility) {
 
 module case_camera(x, y, z, visibility) {
     union() {
-        //case_camera_ground_plate(x, y, z, visibility);
-        //case_camera_left_side(x, y, z-20, visibility);
+        case_camera_ground_plate(x, y, z, visibility);
+        case_camera_left_side(x, y, z-20, visibility);
         case_camera_front_side(x, y, z-20, visibility);
         case_camera_right_side(x+93, y, z-20, visibility);
-        //case_camera_back_side(x, y+60, z-20, visibility);
+        case_camera_back_side(x, y+60, z-20, visibility);
         case_camera_top_side(x, y, z-20, visibility);
-        case_camera_screwcylinder1(x+34, y+14, z-4.5,           visibility);
-        case_camera_screwcylinder1(x+64, y+14, z-4.5,           visibility);
-        case_camera_screwcylinder1(x+64, y+44, z-4.5,           visibility);
-        case_camera_screwcylinder1(x+34, y+44, z-4.5,           visibility);
+        case_camera_screwcylinder1(x+34, y+13, z-4.5,           visibility);
+        case_camera_screwcylinder1(x+64, y+13, z-4.5,           visibility);
+        case_camera_screwcylinder1(x+64, y+43, z-4.5,           visibility);
+        case_camera_screwcylinder1(x+34, y+43, z-4.5,           visibility);
         case_camera_screwcylinder2(x+90, y+5, z-11,          visibility);
         case_camera_screwcylinder2(x+90, y+57, z-11,         visibility);
-        //case_camera_screwcylinder2(x+5, y+57, z-11,          visibility);
+        case_camera_screwcylinder2(x+5, y+57, z-11,          visibility);
         case_camera_screwcylinder2(x+5, y+28, z-11,          visibility);
     }
 }
 
   
-//raspberryPi(0, 0, 0);
-camera(0, 0, 0);
-//case_raspberryPi(0.7); 
-case_camera(0, 0, 0, 0.7);
+raspberryPi(0, 0, 0);
+touchscreen(0, 0, 0);
+//camera(0, 0, 0);
+case_raspberryPi(0.7); 
+//case_camera(0, 0, 0, 0.7);
-- 
GitLab