Canon EF bellows adapter

This commit is contained in:
Matt McWilliams 2023-04-01 19:24:29 -04:00
parent 13702a3d5b
commit c1a51f1ce8
3 changed files with 79 additions and 67 deletions

View File

@ -1,63 +1,65 @@
//Title: Canon EF Mount Body Cap
//Modified By: Robert Macgregor
//Date: March 29, 2014
//Original Author: Alex English - ProtoParadigm
//Original Date: 8-8-2011
//License: GPL2
//$fs = .1;
$fn = 50;
module EFmount() {
//$fa = 1;
union() {
translate([0,0,-1])
cylinder(h = 5.8, r = 66.5/2); //outer grip
translate([0, 0, 6])
cylinder(h = 5, r = 50.5/2);
translate([0, 0, 4])
cylinder(h = 3, r = 54/2); //lip
//translate([0, 0, 12.5]) //inner mounting hole
//cylinder(h = 3.2, r1 = 39.7/2, r2 = 39.5/2);
translate([0, 0, 7])
threads();
rotate([0, 0, -33])
translate([-67/2, 0, 1.9])
cube(size=[1, 2, 5.8], center = true); //alignment mark
}
}
module threads() {
difference() {
cylinder(h = 4, r = 53.2/2); //thread outer
cylinder(h = 4, r = 50.4/2); //thread cylinder
cylinder(h = 2.6, r = 54/2); //gap lip to thread
for(i = [ [0, 0, 0], [180, 0, -70], [0, 0, -120], [180, 0, -180], [0, 0, -230], [180, 0, -300] ])
{
rotate(i)
translate([-35, 0, -5])
cube(size=[40, 18, 10]);
}
}
intersection() {
difference() {
cylinder(h = 4, r = 54/2);
cylinder(h = 4, r = 50.4/2);
}
translate([-54/2+.4, 0, 0])
cube(size=[4, 1.9, 4], center = false); //thread stopper
}
}
difference() {
EFmount();
translate([0, 0, 1.4])
cylinder(h = 10, r = 41.5/2);
for(k = [44.639 : 8.639 : 385]) {
rotate([0, 0, -k])
translate([-68/2, 0, -1.1])
cylinder(h = 6, r = 2);
}
//cylinder(h = 17, r = 33/2);
//Title: Canon EF Mount Body Cap
//Modified By: Robert Macgregor
//Date: March 29, 2014
//Original Author: Alex English - ProtoParadigm
//Original Date: 8-8-2011
//License: GPL2
//$fs = .1;
$fn = 120;
module EFmount_body() {
//$fa = 1;
union() {
translate([0,0,-1])
cylinder(h = 5.8, r = 66.5/2); //outer grip
translate([0, 0, 6])
cylinder(h = 5, r = 50.5/2);
translate([0, 0, 4])
cylinder(h = 3, r = 54/2); //lip
//translate([0, 0, 12.5]) //inner mounting hole
//cylinder(h = 3.2, r1 = 39.7/2, r2 = 39.5/2);
translate([0, 0, 7])
threads();
rotate([0, 0, -33])
translate([-67/2, 0, 1.9])
cube(size=[1, 2, 5.8], center = true); //alignment mark
}
}
module threads() {
difference() {
cylinder(h = 4, r = 53.2/2); //thread outer
cylinder(h = 4, r = 50.4/2); //thread cylinder
cylinder(h = 2.6, r = 54/2); //gap lip to thread
for(i = [ [0, 0, 0], [180, 0, -70], [0, 0, -120], [180, 0, -180], [0, 0, -230], [180, 0, -300] ])
{
rotate(i)
translate([-35, 0, -5])
cube(size=[40, 18, 10]);
}
}
intersection() {
difference() {
cylinder(h = 4, r = 54/2);
cylinder(h = 4, r = 50.4/2);
}
translate([-54/2+.4, 0, 0])
cube(size=[4, 1.9, 4], center = false); //thread stopper
}
}
module EFmount () {
difference() {
EFmount_body();
translate([0, 0, 1.4])
cylinder(h = 10, r = 41.5/2);
for(k = [44.639 : 8.639 : 385]) {
rotate([0, 0, -k])
translate([-68/2, 0, -1.1])
cylinder(h = 6, r = 2);
}
//cylinder(h = 17, r = 33/2);
}
}

View File

@ -0,0 +1,13 @@
include <./Canon_EF_body_cap.scad>;
include <./common/common.scad>;
difference () {
union () {
EFmount();
translate([0, 0, -3]) cylinder(r = 38 / 2, h = 10, center = true, $fn = 360);
}
//guide
translate([0, 0, -3]) rotate([0, 0, 8.75]) translate([0, -26, 0]) cylinder(r = R(3), h = 4, center= true);
//center void
cylinder(r = 32 / 2, h = 30, center = true, $fn = 360);
}

View File

@ -9,6 +9,7 @@ MountY = 97.6;
MountZ = 73;
CameraY = 15;
CameraBoltD = 6.4;
function hypotenuese(X) = sqrt(pow(X, 2) + pow(X, 2));
@ -107,15 +108,11 @@ module canon_m_50_mount () {
//void around camera bolt
translate([0, CameraY, (Z/2) - 15]) cylinder(r = R(30), h = 20, center = true, $fn = 100);
//void for camera bolt
translate([0, CameraY, (Z/2)]) cylinder(r = R(5), h = 20 + 1, center = true, $fn = 60);
translate([0, CameraY, (Z/2)]) cylinder(r = R(CameraBoltD), h = 20 + 1, center = true, $fn = 60);
//void for base bolts
base_nut_void([0, SPACING/2, -(Z/2) + 10]);
base_nut_void([0, -SPACING/2, -(Z/2) + 10]);
//bolt access
//translate([0, 0, -10]) rotate([0, 45, 0]) cube([ACCESS, Y + 1, ACCESS], center = true);
//translate([0, 0, -10 - (ACCESS/2) + (10/4)])cube([DIAG, Y + 1, 10], center = true);
}
}
}