From 57e6bf52cfe9978e10d2ff543964f089d55b6fe5 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Thu, 23 Mar 2017 16:56:51 +0100 Subject: [PATCH] 808 camera lens holder for 9g servo --- 808-lens-holder-servo.scad | 45 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 808-lens-holder-servo.scad diff --git a/808-lens-holder-servo.scad b/808-lens-holder-servo.scad new file mode 100644 index 0000000..5304016 --- /dev/null +++ b/808-lens-holder-servo.scad @@ -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); +} -- 2.43.0