]> www.fi.muni.cz Git - things.git/commitdiff
808 camera lens holder for 9g servo
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 23 Mar 2017 15:56:51 +0000 (16:56 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Mon, 22 May 2017 14:03:09 +0000 (16:03 +0200)
808-lens-holder-servo.scad [new file with mode: 0644]

diff --git a/808-lens-holder-servo.scad b/808-lens-holder-servo.scad
new file mode 100644 (file)
index 0000000..5304016
--- /dev/null
@@ -0,0 +1,45 @@
+infty = 100;
+eps = 0.01;
+
+wall = 1.5;
+
+lens_size = 9.2;
+lens_depth = 3;
+lens_side = 0.9;
+lens_angle = -10;
+
+cable_w = 7;
+
+servo_hole = 5.2;
+servo_base_w = lens_size + 2*wall;
+servo_base_l = 15 + servo_base_w/2;
+servo_base_h = 2*wall;
+
+rotate([lens_angle, 0, 0]) difference() {
+       translate([-lens_size/2-wall, 0, 0])
+               cube([lens_size+2*wall, 2*wall+lens_depth, wall+lens_size]);
+       // bottom
+       rotate([-lens_angle, 0, 0]) translate([-infty/2, -infty/2, -infty]) cube(infty);
+       // lens body
+       translate([-lens_size/2, wall, wall+(wall+lens_depth)*tan(-lens_angle)])
+               cube([lens_size, lens_depth, lens_size + eps]);
+       // lens front
+       translate([-lens_size/2+lens_side, wall, wall+(wall+lens_depth)*tan(-lens_angle)])
+               cube([lens_size-2*lens_side, lens_depth+wall+eps, lens_size + wall + 2*eps]);
+       // cable hole
+       translate([-cable_w/2, wall, -eps])
+               cube([cable_w, lens_depth+wall+eps, lens_size+wall+2*eps]);
+
+}
+
+difference() {
+       hull() {
+               translate([-servo_base_w/2, -servo_base_l+servo_base_w/2, 0])
+                       cube([servo_base_w, servo_base_l-servo_base_w/2+wall+eps, servo_base_h]);
+               translate([0, -servo_base_l+servo_base_w/2, 0])
+                       cylinder(r = servo_base_w/2, h = servo_base_h);
+       }
+               
+       translate([0, -servo_base_l+servo_base_w/2, -eps])
+               cylinder(r = servo_hole/2, h = servo_base_h + 2*eps);
+}