Initial commit

This commit is contained in:
Matt McWilliams 2025-03-17 17:58:36 -04:00
commit 6718fae6e2
8 changed files with 3834 additions and 0 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "scad/common"]
path = scad/common
url = https://git.sixteenmillimeter.com/modules/common.git

6
README.md Normal file
View File

@ -0,0 +1,6 @@
# Bolex Sliding Quick Release
![Bolex Sliding Quick Release Plate](./img/bolex_sliding_quick_release_plate.jpg)
This is a sliding quick release plate designed for Bolex cameras to replace a Manfrotto 501PL.
It has holes for bolts (two 3/8-16 UNC bolts and one 1/4-20 UNC) that are positioned to fit Bolex Rex-4 and Rex-5 flat bottom bases.

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

22
meta.json Normal file
View File

@ -0,0 +1,22 @@
{
"camera" : {
"x" : 0,
"y" : 0,
"z" : 0
},
"objects" : [
{
"name" : "bolex_sliding_quick_release_plate",
"material" : "green_plastic"
}
],
"src" : [
"README.md",
"LICENSE",
"scad.sh",
"scad/bolex_sliding_quick_release.scad",
"scad/common/common.scad",
"scad/common/c14n_stl.py",
"scad/common/scad.sh"
]
}

3
scad.sh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/bash
bash scad/common/scad.sh scad/bolex_sliding_quick_release.scad plate

View File

@ -0,0 +1,115 @@
$fn = 30;
plate_center = [-1.35, -3.5, 5.5];
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);
}
}
PART = "plate";
if (PART == "plate") {
base_plate(holes_on = true);
}

1
scad/common Submodule

@ -0,0 +1 @@
Subproject commit e2eeb27f173d739a174c0d147bcb62a16859e2d9

File diff suppressed because it is too large Load Diff