sixteenmillimeter-tools/models/bolex_rail_mount/bolex_rail_mount.scad

67 lines
1.8 KiB
OpenSCAD

time = 0;
module rcube (cube_arr = [1, 1, 1], d = 0, center = true, $fn = $fn) {
r = d/2;
union () {
cube([cube_arr[0] - d, cube_arr[1], cube_arr[2]], center = center);
cube([cube_arr[0], cube_arr[1] - d, cube_arr[2]], center = center);
translate ([1 * (cube_arr[0] / 2) - r , 1 * (cube_arr[1] / 2)- r, 0]) {
cylinder(r = r, h = cube_arr[2], center = center);
}
translate ([-1 * (cube_arr[0] / 2) + r, -1 * (cube_arr[1] / 2) + r, 0]) {
cylinder(r = r, h = cube_arr[2], center = center);
}
translate ([1 * (cube_arr[0] / 2) - r, -1 * (cube_arr[1] / 2) + r, 0]) {
cylinder(r = r, h = cube_arr[2], center = center);
}
translate ([-1 * (cube_arr[0] / 2) + r, 1 * (cube_arr[1] / 2)- r, 0]) {
cylinder(r = r, h = cube_arr[2], center = center);
}
}
}
module hot_shoe_mount() {
difference() {
cube([20,14.8,17.5], center=true);
translate([0,-7.6,0]) {
cube([9.4,2.5,17.6], center=true);
}
translate([-8.125,-0.60,0]) {
cube([3.99,10,17.6], center=true);
}
translate([-9.65,-6.5,0]) {
cube([1,2,17.9], center=true);
}
translate([8.125,-0.60,0]) {
cube([3.99,10,17.6], center=true);
}
translate([9.65,-6.5,0]) {
cube([1,2,17.9], center=true);
}
translate([0, -4, 6]) cube([6, 6, 6], center=true);
}
}
module bolex_matte_box_rail () {
RAIL = 10;
difference () {
union() {
rotate([90, 0, 90]) hot_shoe_mount();
translate([0, -3, 7]) rotate([0, 90, 0]) rcube([RAIL+5, 28, 17.5], d = 3, center = true, $fn = 12);
}
translate([-75, -8, 7]) {
rotate([0, 90, 0]) {
rcube([RAIL, RAIL/2, 160], d = .5, center = true, $fn = 12);
}
}
}
}
rotate([0, 0, time]) bolex_matte_box_rail();