diff --git a/scad/bellows.scad b/scad/bellows.scad index cc03c5a..fe305bf 100644 --- a/scad/bellows.scad +++ b/scad/bellows.scad @@ -1,4 +1,22 @@ +module cmount_male(len = 4) { + inner_d = 23; + outer_d = 24.7; + f_inner_d = 25.4; + f_outer_d = 28.6; + translate ([0, 0, len / 2 ]) { + difference () { + union () { + cylinder(r = outer_d / 2, h = len, center = true); + } + cylinder(r = inner_d / 2, h = len + 1, center = true); + } + difference () { + translate([0, 0, -(len / 2) - 1]) cylinder(r = f_outer_d / 2, h = 2, center = true); + translate([0, 0, -(len / 2) - 1]) cylinder(r1 = f_inner_d / 2, r2 = inner_d / 2, h = 3, center = true); + } + } +} module bellows_camera_board () { H = 6; @@ -13,8 +31,27 @@ module bellows_camera_board () { for (i = [0 : 3]) { rotate([0, 0, i * (360 / 4) + 45 ]) translate([43.5, 0, 0]) cube([11, 11, H + 1], center = true); } + //bolt + translate([0, 30, 0]) rotate([90, 0, 0]) cylinder(r = 2.2, h = 30, center = true, $fn = 30); } - } -bellows_camera_board(); \ No newline at end of file +module camera_mount () { + $fn = 360; + cmount_male(5); + translate([0, 0, -4]) { + difference() { + cylinder(r = 42 / 2, h = 4, center = true); + cylinder(r = 26 / 2, h = 4 + 1, center = true); + } + } + translate([0, 0, -4 - 5]) { + difference() { + cylinder(r = 37.9 / 2, h = 7, center = true); + cylinder(r = 30 / 2, h = 7 + 1, center = true); + } + } +} + +bellows_camera_board(); +//translate([0, 0, 9]) color("red") camera_mount(); \ No newline at end of file