Add the knobs library
This commit is contained in:
parent
588b11999f
commit
93fe7fc69c
|
@ -1,3 +1,6 @@
|
||||||
[submodule "scad/common"]
|
[submodule "scad/common"]
|
||||||
path = scad/common
|
path = scad/common
|
||||||
url = https://git.sixteenmillimeter.com/modules/common.git
|
url = https://git.sixteenmillimeter.com/modules/common.git
|
||||||
|
[submodule "scad/knobs"]
|
||||||
|
path = scad/knobs
|
||||||
|
url = https://git.sixteenmillimeter.com/modules/knobs.git
|
||||||
|
|
|
@ -2,12 +2,72 @@ use <./common/common.scad>;
|
||||||
|
|
||||||
RAIL_SPACING_HALF_IN = 30;
|
RAIL_SPACING_HALF_IN = 30;
|
||||||
HALF_IN_RAIL_D = 13;
|
HALF_IN_RAIL_D = 13;
|
||||||
|
ATTACH_H = 20;
|
||||||
|
INDEX_CARD_X = 127;
|
||||||
|
INDEX_CARD_Y = 76.2;
|
||||||
|
INDEX_CARD_43 = (INDEX_CARD_Y / 3) * 4;
|
||||||
|
|
||||||
module bolex_matte_box () {
|
module bolex_matte_box_rails_attach (pos = [0, 0, 0]) {
|
||||||
$fn = 100;
|
$fn = 100;
|
||||||
|
|
||||||
translate([RAIL_SPACING_HALF_IN / 2, 0, 0]) cylinder(r = R(HALF_IN_RAIL_D), h = 50, center = true);
|
translate(pos) translate([0, 0, ATTACH_H / 2]) difference () {
|
||||||
translate([-RAIL_SPACING_HALF_IN / 2, 0, 0]) cylinder(r = R(HALF_IN_RAIL_D), h = 50, center = true);
|
union () {
|
||||||
|
translate([RAIL_SPACING_HALF_IN / 2, 0, 0]) cylinder(r = R(HALF_IN_RAIL_D) + 3, h = ATTACH_H, center = true);
|
||||||
|
translate([-RAIL_SPACING_HALF_IN / 2, 0, 0]) cylinder(r = R(HALF_IN_RAIL_D) + 3, h = ATTACH_H, center = true);
|
||||||
|
cube([RAIL_SPACING_HALF_IN, HALF_IN_RAIL_D + 6, ATTACH_H], center = true);
|
||||||
|
}
|
||||||
|
|
||||||
|
translate([RAIL_SPACING_HALF_IN / 2, 0, 0]) cylinder(r = R(HALF_IN_RAIL_D) + 0.3, h = ATTACH_H + 1, center = true);
|
||||||
|
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]) {
|
||||||
|
m4_nut(HALF_IN_RAIL_D + 6);
|
||||||
|
cylinder(r = R(4.25), h = 200, center = true, $fn = 50);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module bolex_matte_box_rails_cap (pos = [0, 0, 0]) {
|
||||||
|
$fn = 100;
|
||||||
|
|
||||||
|
translate(pos) translate([0, 0, ATTACH_H / 2]) difference () {
|
||||||
|
union () {
|
||||||
|
translate([RAIL_SPACING_HALF_IN / 2, 0, 0]) cylinder(r = R(HALF_IN_RAIL_D) + 3, h = 20, center = true);
|
||||||
|
translate([-RAIL_SPACING_HALF_IN / 2, 0, 0]) cylinder(r = R(HALF_IN_RAIL_D) + 3, h = 20, center = true);
|
||||||
|
cube([RAIL_SPACING_HALF_IN, HALF_IN_RAIL_D + 6, ATTACH_H], center = true);
|
||||||
|
}
|
||||||
|
|
||||||
|
translate([RAIL_SPACING_HALF_IN / 2, 0, 4]) cylinder(r = R(HALF_IN_RAIL_D), h = 20, center = true);
|
||||||
|
translate([-RAIL_SPACING_HALF_IN / 2, 0, 4]) cylinder(r = R(HALF_IN_RAIL_D), h = 20, center = true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module matte_box (pos = [0, 0, 0]) {
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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]) {
|
||||||
|
cube([20, BASE_DIST - 2, 8], center = true);
|
||||||
|
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();
|
||||||
}
|
}
|
||||||
|
|
||||||
bolex_matte_box();
|
bolex_matte_box();
|
||||||
|
//rotate([-90, 0, 0]) import("../bolex_matte_box-4x5.5_cards.stl");
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit e0bfb8b57f7e2fc0c1039c312f77de35410c9b5c
|
Loading…
Reference in New Issue