From 9c882570b11433fdf1634420bf2c6e7c8a80ed85 Mon Sep 17 00:00:00 2001 From: mmcwilliams Date: Sun, 28 Apr 2019 23:45:50 -0400 Subject: [PATCH] Add the bolex quick release plate --- .../bolex_quick_release.scad | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 models/bolex_quick_release/bolex_quick_release.scad diff --git a/models/bolex_quick_release/bolex_quick_release.scad b/models/bolex_quick_release/bolex_quick_release.scad new file mode 100644 index 0000000..a6974c1 --- /dev/null +++ b/models/bolex_quick_release/bolex_quick_release.scad @@ -0,0 +1,111 @@ + +$fn = 30; +plate_center = [-1.35, -3.5, 5.5]; +time=0; + +module base_plate (holes_on = true) { + difference () { + translate(plate_center) cube([50, 90, 11], center = true); + sides_flat(); + sides_angled(); + divot(); + front_top_angled(); + front_top_flat(); + if (holes_on) { + holes(); + } else { + //translate([0, (71.5 / 2) - 34, 0]) cylinder(r = 6.5 / 2, h = 100, center = true); + } + + } +} + +module sides_flat () { + x = 26.2; + z = -7.3; + side = [10, 100, 11]; + translate(plate_center) { + union () { + translate([x, 0, z]) cube(side, center = true); + translate([-x, 0, z]) cube(side, center = true); + } + } +} + +module sides_angled() { + x = 28.4; + z = .9; + angle = 29; + side = [10, 100, 12]; + translate(plate_center) { + union () { + translate([x, 0, z]) rotate([0, angle, 0]) cube(side, center = true); + translate([-x, 0, z]) rotate([0, -angle, 0]) cube(side, center = true); + } + } +} + +module divot() { + z = 6.6; + deep = 10; + back = [40.5, 39, deep]; + slider = [4.8, 10, deep]; + cent = [31, 10, deep]; + left_angle = [70, 20, deep]; + right_straight = [20, 50, deep]; + right_angle = [15, 15, deep]; + translate(plate_center) { + union () { + translate([-1, -22.5, z]) cube(back, center = true); + translate([16.9, -22 - (39 / 2), z]) cube(slider, center = true); + translate([3.75, -2.1, z]) cube(cent, center = true); + translate([8.3, 35, z]) rotate([00, 0, 83]) cube(left_angle, center = true); + translate([-8.8, 35.9, z]) cube(right_straight, center = true); + translate([-8.3, 10.4, z]) rotate([00, 0, 42]) cube(right_angle, center = true); + } + } +} + +module front_top_angled () { + x = 26.8; + y = 41; + z = 1.5; + angle_y = 17; + angle_z = 18; + angle_x = 4; + side = [10, 15, 11]; + translate(plate_center) { + union () { + translate([x, y, z]) rotate([angle_x, angle_y, angle_z]) cube(side, center = true); + translate([-x, y, z]) rotate([angle_x, -angle_y, -angle_z]) cube(side, center = true); + } + } +} + +module front_top_flat () { + x = 25.3; + y = 42; + z = -7.3; + sides = [10, 10, 11]; + angle_z = 19; + translate(plate_center) { + union () { + translate([x, y, z]) rotate([0, 0, angle_z]) cube(sides, center = true); + translate([-x, y, z]) rotate([0, 0, -angle_z]) cube(sides, center = true); + } + } +} + +module holes () { + translate([-1.5, -5, 0]){ + //base reference + // cube([50, 71.5, 40], center = true); + //holes + translate([0, (71.5 / 2) - 12, 0]) cylinder(r = 10 / 2, h = 100, center = true); + translate([0, (71.5 / 2) - 34, 0]) cylinder(r = 6.5 / 2, h = 100, center = true); + translate([(-50 / 2) + 18, (71.5 / 2) - 62, 0]) cylinder(r = 10 / 2, h = 100, center = true); + } + +} + +rotate([0, 0, time]) base_plate(holes_on= true); \ No newline at end of file