Skip to content
Snippets Groups Projects
Commit 994221dc authored by Manuel Schmidt's avatar Manuel Schmidt
Browse files

Weiterentwicklung camera-case

parent 776bdc96
No related branches found
No related tags found
No related merge requests found
...@@ -4,7 +4,10 @@ ...@@ -4,7 +4,10 @@
[In2]: Y-Koordinate [In2]: Y-Koordinate
[In3]: Z-Koordinate [In3]: Z-Koordinate
*/ */
module raspberryPi(off_x, off_y, off_z) { module raspberryPi(x, y, z) {
off_x = 7 + x;
off_y = 2.5 + y;
off_z = 5 + z;
difference(){ difference(){
union(){ union(){
// PCB // PCB
...@@ -70,64 +73,231 @@ module raspberryPi(off_x, off_y, off_z) { ...@@ -70,64 +73,231 @@ module raspberryPi(off_x, off_y, off_z) {
translate([off_x+7, off_y+-1.5, off_z+2]) cube([8.5, 5, 2]); translate([off_x+7, off_y+-1.5, off_z+2]) cube([8.5, 5, 2]);
// AUX-Insides // AUX-Insides
translate([off_x+54, off_y+4, off_z+5]) rotate([0, 90, 90 ]) cylinder(15, 2.2, 2.2,$fn=50, true); translate([off_x+54, off_y+4, off_z+5]) rotate([0, 90, 90]) cylinder(15, 2.2, 2.2,$fn=50, true);
} }
} }
/*----------------------- Parts of HQ Camera --------------------------------*/
module camera(x, y, z) {
x = x+30;
y = y+10;
z = z-8.5;
union() {
difference() {
union() {
// PCB
translate([x+0, y+0, z-0]) color([0, 1, 0], 1) cube([38, 38, 1.5]);
// CAM Socket
translate([x+19, y+19, z-5.1]) color([0.3, 0.3, 0.3]) rotate([0, 0, 90]) cylinder(10.2, 18, 18,$fn=50 , true);
translate([x+19, y+19, z-10.8]) color([0.3, 0.3, 0.3]) rotate([0, 0, 90]) cylinder(1.2, 19, 19,$fn=50 , true);
translate([x+19, y+19, z-13]) color([0.3, 0.3, 0.3]) rotate([0, 0, 90]) cylinder( 5.8, 15.375, 15.375,$fn=50 , true);
// Mounting-hole1
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
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]);
}
// Mounting-hole1
translate([x+4, y+4, z+0.75]) rotate([0, 0, 90]) cylinder(1.8, 1.25, 1.25, $fn=50, true);
// Mounting-hole2
translate([x+34, y+4, z+0.75]) rotate([0, 0, 90]) cylinder(1.8, 1.25, 1.25, $fn=50, true);
// Mounting-hole3
translate([x+34, y+34, z+0.75]) rotate([0, 0, 90]) cylinder(1.8, 1.25, 1.25, $fn=50, true);
// Mounting-hole4
translate([x+4, y+34, z+0.75]) rotate([0, 0, 90]) cylinder(1.8, 1.25, 1.25, $fn=50, true);
// CAM-Hole
translate([x+19, y+19, z-10]) rotate([0, 0, 90]) cylinder(15, 11.2, 11.2, $fn=50, true);
// Stativ-Hole
translate([x+19, y-10, z-6]) rotate([0, 90, 90]) cylinder(10, 3, 3, $fn=50, true);
}
// Photodiode
translate([x+15, y+15, z-3]) color([0.3, 0.3, 0.5], 1) cube([8.5, 8.5, 1.5]);
}
}
/*---------------------- Parts of Raspberry Pi case ------------------------*/
module screwcylinder(x, y, z, visibility) { module screwcylinder(x, y, z, visibility) {
echo("Schraubzylinder erstellen"); echo("Schraubzylinder erstellen");
difference(){ difference(){
translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) rotate([0, 0, 0]) cylinder(5, 3, 3, $fn=50, true); translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) rotate([0, 0, 0]) cylinder(5, 3, 3, $fn=50, true);
translate([x, y, z]) rotate([0, 0, 0]) cylinder(6, 1.5, 1.5, $fn=50, true); translate([x, y, z]) rotate([0, 0, 0]) cylinder(6, 1.2, 1.2, $fn=50, true);
} }
} }
module case(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]);
}
module case_right_side(x, y, z, visibility) {
difference() { difference() {
union(){ translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([2, 62, 40]);
// Groundplate translate([x-0.5, y+3.6, z+4.4]) cube([3, 15.75, 16.5]);
translate([0, 0, 0]) color([0.4, 0.4, 0.4], visibility) cube([95, 62, 2]); translate([x-0.5, y+21.5, z+4.4]) cube([3, 15.75, 16.5]);
// Screwcylinders translate([x-0.5, y+40, z+4.4]) cube([3, 17, 14]);
screwcylinder(10.5, 6, 3, visibility); }
}
screwcylinder(68.5, 6, 3, 1);
screwcylinder(68.5, 55, 3, 1); module case_back_side(x, y, z, visibility) {
screwcylinder(10.5, 55, 3, 1); translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([95, 2, 40]);
}
// Side front
translate([0, 0, 2]) color([0.4, 0.4, 0.4], visibility) cube([95, 2, 40]); module case_front_side(x, y, z, visibility) {
// Side back difference() {
translate([0, 60, 2]) 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, 40]);
// Side left
translate([0, 0, 2]) color([0.4, 0.4, 0.4], visibility) cube([2, 62, 40]);
// Side right
translate([93, 0, 2]) color([0.4, 0.4, 0.4], visibility) cube([2, 62, 40]);
}
// Aux-hole // Aux-hole
translate([61, -0.2, 10]) rotate([0, 90, 90]) cylinder(5, 3.5 , 3.5,$fn=50, true); translate([x+61, y-0.2, z+8]) rotate([0, 90, 90]) cylinder(5, 3.5, 3.5,$fn=50, true);
// HDMI-hole1 // HDMI-hole1
translate([28.7, -0.2, 6.3]) cube([8.5, 4, 3.5]); translate([x+28.7, y-0.2, z+4.3]) cube([8.5, 4, 3.5]);
// HDMI-hole2 // HDMI-hole2
translate([42.2, -0.2, 6.3]) cube([8.5, 4, 3.5]); translate([x+42.2, y-0.2, z+4.3]) cube([8.5, 4, 3.5]);
// USB-C-hole // USB-C-hole
translate([13, -0.2, 6.3]) cube([10.5, 4, 3.5]); translate([x+13, y-0.2, z+4.3]) cube([10.5, 4, 3.5]);
// CAM-line-hole }
translate([4, 4, -0.1]) cube([2, 20, 2.2]); }
// USB-hole1
translate([92.5, 3.6, 6.4]) cube([3, 15.75, 16.5]); module case_ground_plate(x, y, z, visibility) {
// USB-hole2 difference () {
translate([92.5, 21.5, 6.4]) cube([3, 15.75, 16.5]); translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([95, 62, 2]);
// ETH-hole translate([x+4, y+4, z-0.1]) cube([2, 20, 2.2]);
translate([92.5, 40, 6.4]) cube([3, 17, 14]); }
}
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);
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);
}
}
}
/*---------------------------- Parts of cameracase ---------------------------------*/
module case_camera_ground_plate(x, y, z, visibility) {
difference() {
union() {
translate([x, y, z-2]) color([0.4, 0.4, 0.4], visibility) cube([95, 62, 2]);
//screwcylinder(x+65, y+15, z-2);
}
translate([x+4, y+4, z-2.1]) cube([6.1, 20, 2.2]);
} }
} }
module case_camera_left_side(x, y, z, visibility) {
translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([2, 62, 20]);
}
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]);
}
}
module case_camera_right_side(x, y, z, visibility) {
translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([2, 62, 20]);
}
module case_camera_back_side(x, y, z, visibility) {
translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) cube([95, 2, 20]);
}
module case_camera_top_side(x, y, z, visibility) {
union() {
difference() {
translate([x, y, z-2]) color([0.4, 0.4, 0.4 ], visibility) cube([95, 62, 2]);
translate([x+49, y+29, z-1]) cylinder(3, 16, 16, true);
}
case_camera_top_side_edge(x, y, z, visibility);
}
}
module case_camera_top_side_edge(x, y, z, visibility) {
union() {
// Left side
difference() {
union() {
translate([x+2.5, y+2.5, z]) color([0.4, 0.4, 0.4], visibility) cube([2, 50, 5 ]);
case_camera_edge_screwcylinder(x+5, y+28 , z+2.5, visibility);
translate([x-2.5, y+22.5, z]) color([0.4 ,0.4, 0.4]) cube([8, 11, 5], 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
difference() {
union() {
translate([x+9, y+57.5, z]) color([0.4, 0.4, 0.4], visibility) cube([78, 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]);
}
translate([x, y+59.5, z-0.1]) color([0.4, 0.4, 0.4], visibility) cube([10, 4, 6]);
translate([x-1.5, y+51.5, z-0.1]) color([0.4 , 0.4, 0.4], visibility) cube([4, 10 , 6]);
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]);
}
}
}
module case_camera_edge_screwcylinder(x, y, z, visibility) {
difference() {
translate([x, y, z]) color([0.4, 0.4, 0.4]) cylinder(5, 5.5, 5.5, $fn=50, true);
translate([x, y, z]) cylinder(6, 3.5, 3.5, $fn=50, true);
}
}
module case_camera_screwcylinder1(x, y, z, visibility) {
echo("Schraubzylinder erstellen");
difference(){
translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) rotate([0, 0, 0]) cylinder(5, 3, 3, $fn=50, true);
translate([x, y, z]) rotate([0, 0, 0]) cylinder(6, 0.9, 0.9, $fn=50, true);
}
}
module case_camera_screwcylinder2(x, y, z, visibility) {
difference(){
translate([x, y, z]) color([0.4, 0.4, 0.4], visibility) rotate([0, 0, 0]) cylinder(18, 3, 3, $fn=50, true);
translate([x, y, z-5]) rotate([0, 0, 0]) cylinder(20, 1.2, 1.2, $fn=50, true);
}
}
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_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_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_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+28, z-11, visibility);
}
}
//raspberryPi(7, 2.5, 5); //raspberryPi(0, 0, 0);
case(0.9); camera(0, 0, 0);
//case_raspberryPi(0.7);
case_camera(0, 0, 0, 0.7);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment