canon_ble #82
|
@ -0,0 +1,13 @@
|
|||
include <./ef_m_mount_v3.scad>;
|
||||
include <./common/common.scad>;
|
||||
|
||||
difference () {
|
||||
union () {
|
||||
ef_m_mount(thickness=2,grip = true);
|
||||
translate([0, 0, -3]) cylinder(r = 38.5 / 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);
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
/*
|
||||
*
|
||||
* Canon EF-M lens-side mount
|
||||
*
|
||||
* Remix of Canon EF-M lens mount by Peter K. Johnson (PPK):
|
||||
* https://www.thingiverse.com/thing:703383
|
||||
*
|
||||
* Added optional thickness parameter (default is 0) to add depth to the large
|
||||
* circle.
|
||||
* Added grip texture option to outer edge
|
||||
*
|
||||
* Created EF-M pinhole module which builds a variable focal length
|
||||
* EF-M pinhole lens with a slot to accept a pinhole.
|
||||
*
|
||||
* brett stevens 2021.
|
||||
*/
|
||||
|
||||
/*
|
||||
// constants from Fotasy adapter mount
|
||||
|
||||
outer_diam_1 = 54;
|
||||
outer_diam_2 = 46.8;
|
||||
outer_diam_3 = 42.88;
|
||||
|
||||
inner_diam = 41.28;
|
||||
|
||||
// constants from Canon mount
|
||||
|
||||
outer_diam_1 = 58.0;
|
||||
outer_diam_2 = 47.0;
|
||||
outer_diam_3 = 43.0;
|
||||
|
||||
*/
|
||||
|
||||
outer_diam_1 = 58.0;
|
||||
outer_diam_2 = 47.0;
|
||||
outer_diam_3 = 43.0;
|
||||
|
||||
pin_hole_width = 2.2;
|
||||
|
||||
// Partial rotate extrude from: http://www.thingiverse.com/thing:34027
|
||||
module pie_slice(radius, angle, step) {
|
||||
for(theta = [0:step:angle-step]) {
|
||||
rotate([0,0,0])
|
||||
linear_extrude(height=radius*2, center=true)
|
||||
polygon(
|
||||
points = [
|
||||
[0,0],
|
||||
[radius*cos(theta+step), radius*sin(theta+step)],
|
||||
[radius*cos(theta), radius*sin(theta)]
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
module partial_rotate_extrude(angle, radius, convex) {
|
||||
intersection () {
|
||||
rotate_extrude(convexity=convex) translate([radius,0,0]) children(0);
|
||||
pie_slice(radius*2, angle, angle/5);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Canon EF-M lens mount
|
||||
|
||||
module ef_m_bayonet_section(angle) {
|
||||
partial_rotate_extrude(angle, outer_diam_3/2-0.1, 10)
|
||||
polygon([[0,-2.2],[0,0],[1.6,0],[1.6,-1.6]]);
|
||||
}
|
||||
module ef_m_mount( thickness = 0, grip = false) {
|
||||
$fa = 0.01;
|
||||
$fn = 200;
|
||||
union() {
|
||||
difference() {
|
||||
if (grip)
|
||||
difference() {
|
||||
translate([0, 0, -thickness])
|
||||
cylinder(h=2+thickness, d=outer_diam_1);
|
||||
{
|
||||
for(i = [0:100-1])
|
||||
{
|
||||
rotate([0,0,i*360/100])
|
||||
translate([outer_diam_1/2,0,-1.75-thickness])
|
||||
cylinder(thickness+0.5+2,r=0.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
translate([0, 0, -thickness])
|
||||
cylinder(h=2+thickness, d=outer_diam_1);
|
||||
|
||||
rotate(a=[0, 0, -22])
|
||||
translate([49/2, -pin_hole_width/2, 1.1])
|
||||
cube([4, pin_hole_width, 1.1]);
|
||||
rotate(a=[0, 0, -83])
|
||||
translate([outer_diam_1/2-2.5, 0, 1.5])
|
||||
cube([1.5, 1.5, 0.6]);
|
||||
}
|
||||
translate([0, 0, 2])
|
||||
cylinder(h=1.6, d=outer_diam_2);
|
||||
difference() {
|
||||
translate([0, 0, 0])
|
||||
cylinder(h=7.6, d=outer_diam_3);
|
||||
translate([0, 0, 7.6])
|
||||
rotate(a=[0, 0, 40])
|
||||
partial_rotate_extrude(140, 34.5/2, 10)
|
||||
polygon([[0,-1],[0,0.1],[2.5,0.1],[2.5,-1]]);
|
||||
}
|
||||
translate([0, 0, 7.6]) {
|
||||
partial_rotate_extrude(3, outer_diam_3/2-.1, 10)
|
||||
polygon([[0,-4],[0,0],[1.4,0],[1.4,-4]]);
|
||||
ef_m_bayonet_section(58);
|
||||
rotate(a=[0, 0, 131])
|
||||
ef_m_bayonet_section(51);
|
||||
rotate(a=[0, 0, 243])
|
||||
ef_m_bayonet_section(51);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Example with typical EF-M hole, but that part can be modified as needed for
|
||||
// whatever final assembly is being made. There's a subtle alignment dot built
|
||||
// into the base mount (on the camera side), but if a more visible one is desired
|
||||
// on a larger assembly it should be at -83 degrees relative to the mount.
|
||||
//difference() {
|
||||
// ef_m_mount();
|
||||
// translate([0,0,-1]) cylinder(h=10, d=32);
|
||||
//}
|
||||
$fn = 200;
|
||||
overlap = 0.1;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue