sixteenmillimeter-tools/models/bolex_matte_insert/bolex_matte_insert.scad

43 lines
1.5 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 bolex_matte_box_insert () {
X = 35;
Y = 35;
FRAME = 10;
difference () {
union() {
translate([0, FRAME/4- 2, 5/2]) {
cube([X - .2, Y + FRAME-2, 2.9], center = true);
}
translate([0, FRAME/4- 2, 1]) {
cube([X + 2 - .2, Y + FRAME -2, 1.9], center = true);
}
}
rcube([X - 4, Y + 1, 16], d = 3, center = true, $fn = 20);
//translate([0, 0, 3.5]) rcube([X - 1, Y + 4, 3], d = 2, center = true, $fn = 20);
}
translate([0, 23, 2]) rcube([4, 9, 3.9], d = 2, center= true, $fn=24);
}
rotate([0, 90, time]) bolex_matte_box_insert();