Adjust centering of matte box

This commit is contained in:
Matt McWilliams 2025-03-26 19:33:03 -04:00
parent a17513fae0
commit 2caef8bc63
5 changed files with 24222 additions and 13028 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -3,11 +3,13 @@ use <./knobs/scad/knob.scad>;
RAIL_SPACING_HALF_IN = 30;
HALF_IN_RAIL_D = 13;
BASE_Y = 97.5;
ATTACH_H = 20;
INDEX_CARD_X = 127;
INDEX_CARD_Y = 76.2;
INDEX_CARD_43 = (INDEX_CARD_Y / 3) * 4;
module bolex_matte_box_rails_attach (pos = [0, 0, 0]) {
$fn = 100;
@ -22,7 +24,7 @@ module bolex_matte_box_rails_attach (pos = [0, 0, 0]) {
translate([-RAIL_SPACING_HALF_IN / 2, 0, 0]) cylinder(r = R(HALF_IN_RAIL_D) + 0.3, h = ATTACH_H + 1, center = true);
cube([RAIL_SPACING_HALF_IN, 2, ATTACH_H + 1], center = true);
//m4 bolt
translate([0, ((HALF_IN_RAIL_D + 6) / 2) + 4, 2]) rotate([90, 0, 0]) {
translate([0, ((HALF_IN_RAIL_D + 6) / 2) + 4, 2]) rotate([90, 30, 0]) {
m4_nut(HALF_IN_RAIL_D + 6);
cylinder(r = R(4.25), h = 200, center = true, $fn = 50);
}
@ -44,22 +46,38 @@ module bolex_matte_box_rails_cap (pos = [0, 0, 0]) {
}
}
module matte_box (pos = [0, 0, 0]) {
module card_slot (pos = [0, 0, 0]) {
translate(pos) difference() {
cube([INDEX_CARD_43, INDEX_CARD_Y + 1, 1.5], center = true);
//bevel long edges
translate([0, (INDEX_CARD_Y + 1) / 2, 1.1]) rotate([60, 0, 0]) cube([INDEX_CARD_43, 2, 4], center = true);
translate([0, (INDEX_CARD_Y + 1) / 2, -1.1]) rotate([-60, 0, 0]) cube([INDEX_CARD_43, 2, 4], center = true);
translate([0, -(INDEX_CARD_Y + 1) / 2, 1.1]) rotate([-60, 0, 0]) cube([INDEX_CARD_43, 2, 4], center = true);
translate([0, -(INDEX_CARD_Y + 1) / 2, -1.1]) rotate([60, 0, 0]) cube([INDEX_CARD_43, 2, 4], center = true);
//inside short edge
translate([-INDEX_CARD_43 / 2, 0, 1.1]) rotate([0, 60, 0]) cube([2, INDEX_CARD_Y + 1, 4], center = true);
translate([-INDEX_CARD_43 / 2, 0, -1.1]) rotate([0, -60, 0]) cube([2, INDEX_CARD_Y + 1, 4], center = true);
}
}
module matte_box (pos = [0, 0, 0], Hood = 20) {
translate(pos) {
translate([0, 0, 8 / 2]) difference () {
rounded_cube([INDEX_CARD_43, INDEX_CARD_Y + 8, 8], d = 5, $fn = 40, center = true);
cube([INDEX_CARD_43 - 12, INDEX_CARD_Y - 4, 8 + 1], center = true);
translate([2, 0, 0]) cube([INDEX_CARD_43, INDEX_CARD_Y + 1, 1.5], center = true);
rounded_cube([INDEX_CARD_43 + 4, INDEX_CARD_Y + 8, 8], d = 5, $fn = 40, center = true);
cube([INDEX_CARD_43 - 6, INDEX_CARD_Y - 2, 8 + 1], center = true);
card_slot([1.5, 0, 0]);
card_slot([10, 0, 0]);
translate([20, 0, -8 / 2]) cube([INDEX_CARD_43 - 6, INDEX_CARD_Y - 10, 8 ], center = true);
}
translate([0, 0, (10 / 2) + (20 / 2)]) difference () {
rounded_cube([INDEX_CARD_43, INDEX_CARD_Y + 8, 20], d = 5, $fn = 40, center = true);
rounded_cube([INDEX_CARD_43 - 4, INDEX_CARD_Y + 8 - 4, 20 + 1], d = 5, $fn = 40, center = true);
translate([0, 0, (10 / 2) + (Hood / 2)]) difference () {
rounded_cube([INDEX_CARD_43 + 4, INDEX_CARD_Y + 8, Hood], d = 5, $fn = 40, center = true);
rounded_cube([INDEX_CARD_43 - 4, INDEX_CARD_Y, Hood + 1], d = 5, $fn = 40, center = true);
}
}
}
module bolex_matte_box () {
BASE_Y = 100;
BASE_DIST = BASE_Y - ((INDEX_CARD_Y + 8) / 2);
bolex_matte_box_rails_attach([0, -BASE_Y, 0]);
translate([0, (-BASE_DIST / 2) - ((INDEX_CARD_Y + 8) / 2) + 4, 8 / 2]) {
@ -67,7 +85,7 @@ module bolex_matte_box () {
translate([6, 0, 6]) cube([3, BASE_DIST - 4, 20], center = true);
translate([-6, 0, 6]) cube([3, BASE_DIST - 4, 20], center = true);
}
matte_box();
matte_box([-12.5, 0, 0]);
}
PART = "default";
@ -76,4 +94,6 @@ if (PART == "default") {
bolex_matte_box();
} else if (PART == "knob") {
knob(H = 10, D = 14, DEPTH = 4, BOLT = "M4", TYPE = "hex");
} else if (PART == "rails_cap") {
bolex_matte_box_rails_cap();
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff