mcopy/scad/canon_rf_ACME_camera_mount....

94 lines
3.1 KiB
OpenSCAD

include <./common/common.scad>;
FrontToBolt = 26.65;
FrontToFilmPlane = 15.85;
BaseBoltD = 6.75;
BaseRegistrationPinD = 6.5;
ChannelX = 15.5;
ChannelZ = 2.3;
PlatformX = 90.6 + 15.5 + 80.5;
PlatformY = 105 + 73;
MountX = 55;
MountY = 40;
MountZ = 70;
ExtensionY = 100;
PlatformCenterX = (PlatformX / 2) - (80.5 + 7.75);
CameraBoltD = 6.8;
module bolt_slot (pos = [0, 0, 0], D = 10, H = 10, Length = 1) {
$fn = 80;
translate (pos) {
cube([D, Length, H + 1], center = true);
translate([0, Length / 2, 0]) cylinder(r = R(D), h = H + 1, center = true);
translate([0, -Length / 2, 0]) cylinder(r = R(D), h = H + 1, center = true);
}
}
module debug_camera() {
X = 122;
Y = 34.75;
Z = 74;
difference () {
cube([X, Y, Z], center = true);
translate([0, -(Y / 2) + FrontToBolt, 0]) cylinder(r = R(5), h = Z + 1, center = true, $fn = 30);
translate([0, -Y + FrontToFilmPlane, 39.75]) cube([X - 20, Y, Z], center = true);
}
}
module debug_platform () {
H = 20;
$fn = 60;
translate([0, 0, -H / 2]) {
difference () {
cube([PlatformX, PlatformY, H], center = true);
translate([PlatformCenterX, 0, (H / 2) - (ChannelZ / 2) + 0.01]) cube([ChannelX, PlatformY + 1, ChannelZ], center = true);
translate([PlatformCenterX, -(PlatformY / 2) + 84, 7 / 2]) cylinder(r = R(BaseBoltD), h = H + 1, center = true);
translate([PlatformCenterX, -(PlatformY / 2) + 20.25, 7 / 2]) cylinder(r = R(BaseBoltD), h = H + 1, center = true);
}
translate([PlatformCenterX, -(PlatformY / 2) + (16 / 2), 2 / 2]) cube([ChannelX, 16, H + 2], center = true);
translate([PlatformCenterX, -(PlatformY / 2) + 32.9, 7 / 2]) cylinder(r = R(BaseRegistrationPinD), h = H + 7, center = true);
}
}
module canon_rf_ACME_camera_mount () {
$fn = 80;
difference () {
union () {
cube([MountX, MountY, MountZ], center = true);
translate([0, -(MountY / 2) + (ExtensionY / 2), -(MountZ / 2) + (10 / 2)]) cube([MountY + 1, ExtensionY, 10], center = true);
translate([0, -(MountY / 2) + (ExtensionY / 2), -(MountZ / 2) - (ChannelZ / 2)]) cube([ChannelX, ExtensionY, ChannelZ], center = true);
}
cube([MountX - 20, MountY + 1, MountZ - 20], center = true);
translate([0, -(MountY / 2) + (17 / 2), -MountZ / 2]) cube([ChannelX + 0.1, 17.01, 6], center = true);
//front bolt
translate([0, 0, -MountZ / 2]) cylinder(r = R(11), h = 30, center = true);
bolt_slot([0, 13, -MountZ / 2], D = BaseRegistrationPinD, H = 30, Length = 2);
translate([0, -(MountY / 2) + 84, -MountZ / 2]) cylinder(r = R(7), h = 30, center = true);
translate([0, -(MountY / 2) + 84, -(MountZ / 2) + 22.5]) cylinder(r = R(10), h = 30, center = true);
//camera bolt
translate([0, -2, MountZ / 2]) cylinder(r = R(CameraBoltD), h = 30, center = true);
}
}
module debug () {
translate([PlatformCenterX, -69, MountZ / 2]) difference() {
canon_rf_ACME_camera_mount();
translate([50, 0, 0]) cube([100, 200, 100], center = true);
}
translate([PlatformCenterX, -60, (110/2)]) cube([1, 63.5, 110], center = true);
translate([PlatformCenterX, -80, 105]) debug_camera();
//color("red") debug_platform();
}
rotate([90, 0, 0]) canon_rf_ACME_camera_mount();