diff --git a/scad/arri_s_mount.scad b/scad/arri_s_mount.scad index c5cd5aa..b5b1db5 100644 --- a/scad/arri_s_mount.scad +++ b/scad/arri_s_mount.scad @@ -41,18 +41,45 @@ module camera_bolt (width = 20) { cube([width, camBoltD, Z + 1], center = true); } +module wing_nuts (nutZ = 0) { + translate([mountBoltsX/2, mountBoltsY/2, nutZ]) rotate([0, 0, 5]) cube([3.5, 22, 11], center = true); + translate([-mountBoltsX/2, mountBoltsY/2, nutZ]) rotate([0, 0, 5]) cube([3.5, 22, 11], center = true); + translate([mountBoltsX/2, -mountBoltsY/2, nutZ]) rotate([0, 0, 5]) cube([3.5, 22, 11], center = true); + translate([-mountBoltsX/2, -mountBoltsY/2, nutZ]) rotate([0, 0, 5]) cube([3.5, 22, 11], center = true); +} + module mount () { difference () { rounded_cube([mountBoltsX + 20, baseY, Z], d = 20, center =true, $fn = 60); //center void translate([0, 0, -camBoltZ]) cube([mountBoltsX - 20, innerBaseY, Z], center =true); + //side void translate([0, 0, -camBoltZ]) cube([baseX + 1, innerBaseY - 40, Z], center =true); bolts(boltD + .4, Z + 1); //inset translate([0, 0, (Z / 2) - (Z / 2) + 15]) bolts(20, Z); camera_bolt(); + wing_nuts(-(Z / 2) + 20.5); + } +} + +module center_fitting () { + SMALL_D = 4.5; + SMALL_Z = 9; + LARGE_D = 9.4; + translate([10.7, 0, 0]) cylinder(r = R(SMALL_D), h = SMALL_Z, center = true, $fn = 40); + difference () { + //cube + translate([(SMALL_D/2) + (LARGE_D / 2), 0, -(SMALL_Z/2)-(camBoltZ/2)]) cube([camBoltD + SMALL_D, camBoltD - 0.3, camBoltZ], center = true); + cylinder(r = R(LARGE_D), h = 60, center = true, $fn = 60); + translate([10.7 - 1, 0, 0]) difference () { + translate([(camBoltD + 1) / 2, 0, 0]) cube([camBoltD + 1, camBoltD + 1, 60], center = true); + cylinder(r = R(camBoltD), h = 60, center = true, $fn = 60); + } } } //base(); -translate([0, 0, (baseZ/2) + (Z/2) + 5]) mount(); \ No newline at end of file +//translate([0, 0, (baseZ/2) + (Z/2) + 5]) mount(); +//translate([0, 0, (baseZ/2) + Z + 9]) +center_fitting(); \ No newline at end of file diff --git a/scad/jk_lens_assembly.scad b/scad/jk_lens_assembly.scad index 151b7f3..471fe4e 100644 --- a/scad/jk_lens_assembly.scad +++ b/scad/jk_lens_assembly.scad @@ -72,26 +72,35 @@ module lensAssemblyBellowsBoard () { } rotate([-90, 0, 0]) { translate([-(XWidth/2) + 2.5, -FrontOffset, -XOffset]) rotate([0, 90, 0]) TNut(); - //m3 - translate([-(XWidth/2) + 2.5 + 5, -FrontOffset - 8, -XOffset]) rotate([0, -90, 0]) rotate([0, 0, 90]) m3BoltNut(); + //m3s + // -centered + translate([-(XWidth/2) + 2.5 + 5, -FrontOffset - 8, -XOffset]) rotate([0, -90, 0]) rotate([0, 0, 90]) m3BoltNut(); + // -top no nut + translate([-(XWidth/2) + 2.5 + 5, -FrontOffset, -XOffset + 8]) rotate([0, -90, 0]) cylinder(r = 3.1 / 2, h = 20, center = true, $fn = 40); + // -bottom no nut + translate([-(XWidth/2) + 2.5 + 5, -FrontOffset, -XOffset - 8]) rotate([0, -90, 0]) cylinder(r = 3.1 / 2, h = 20, center = true, $fn = 40); translate([(XWidth/2) - 2.5, -FrontOffset, -XOffset]) rotate([0, -90, 0]) TNut(); - //m3 + //m3s + // -center translate([(XWidth/2) - 2.5 - 5, -FrontOffset - 8, -XOffset]) rotate([0, 90, 0]) rotate([0, 0, 90]) m3BoltNut(); + // -top no nut + translate([(XWidth/2) - 2.5 - 5, -FrontOffset, -XOffset + 8]) rotate([0, 90, 0]) cylinder(r = 3.1 / 2, h = 20, center = true, $fn = 40); + // -bottom no nut + translate([(XWidth/2) - 2.5 - 5, -FrontOffset, -XOffset - 8]) rotate([0, 90, 0]) cylinder(r = 3.1 / 2, h = 20, center = true, $fn = 40); } rotate([-90, 0, 0]) translate([0, -FrontOffset, -XOffset]) rotate([0, 90, 0]) threadedRod(RodLength, 0.5); translate([0, -XOffset, -10.5]) cube([100,30, 15], center = true); } + //top difference () { translate([0, XOffset, FrontOffset]) rotate([0, 90, 0]) cylinder(r = R(25), h = 24, center = true, $fn = 80); rotate([-90, 0, 0]) { translate([0, -FrontOffset, XOffset]) rotate([0, 90, 0]) linearBearing(0.25); } - //translate([0, XOffset + 10, 0]) cube([24 + 1, 10, 3], center = true); translate([0, XOffset, -10.5]) cube([24 + 1,30, 15], center = true); rotate([-90, 0, 0]) translate([0, -FrontOffset, XOffset]) rotate([0, 90, 0]) linearMotionRod(RodLength); } - } module lensAssemblyThreadedZ () { @@ -169,35 +178,39 @@ module lensAssemblyLinearZ () { } } -//rotate([90, 0, 0]) lensAssemblyBellowsBoard(); +module debug () { + rotate([90, 0, 0]) lensAssemblyBellowsBoard(); -//translate([-ZOffset, BackOffset, 0]) lensAssemblyThreadedZ(); -//translate([ZOffset, BackOffset, 5]) lensAssemblyLinearZ(); + translate([-ZOffset, BackOffset, 0]) lensAssemblyThreadedZ(); + translate([ZOffset, BackOffset, 5]) lensAssemblyLinearZ(); -//Z axis -//translate([-ZOffset, BackOffset, 0]) threadedRod(RodLength); -//translate([ZOffset, BackOffset, 0]) linearMotionRod(RodLength); + //Z axis + //translate([-ZOffset, BackOffset, 0]) threadedRod(RodLength); + //translate([ZOffset, BackOffset, 0]) linearMotionRod(RodLength); -//translate([40, 8, 0]) linearBearing(); -//translate([-40, 8, 25]) rotate([180, 0, 0]) TNut(); -//translate([-40, 8, -25]) TNut(); + //translate([40, 8, 0]) linearBearing(); + //translate([-40, 8, 25]) rotate([180, 0, 0]) TNut(); + //translate([-40, 8, -25]) TNut(); -//translate([ZOffset, 5, 15]) color("blue") m4_nut(); -//translate([ZOffset, 5, -15]) color("blue") m4_nut(); + //translate([ZOffset, 5, 15]) color("blue") m4_nut(); + //translate([ZOffset, 5, -15]) color("blue") m4_nut(); -//X axis -//translate([0, -FrontOffset, -XOffset]) rotate([0, 90, 0]) threadedRod(RodLength); -//translate([0, -FrontOffset, XOffset]) rotate([0, 90, 0]) linearMotionRod(RodLength); + //X axis + //translate([0, -FrontOffset, -XOffset]) rotate([0, 90, 0]) threadedRod(RodLength); + //translate([0, -FrontOffset, XOffset]) rotate([0, 90, 0]) linearMotionRod(RodLength); -//translate([0, -8, 40]) rotate([0, 90, 0]) linearBearing(); -//translate([-25, -8, -XOffset]) rotate([0, 90, 0]) TNut(); -//translate([25, -8, -XOffset]) rotate([0, -90, 0]) TNut(); + //translate([0, -8, 40]) rotate([0, 90, 0]) linearBearing(); + //translate([-25, -8, -XOffset]) rotate([0, 90, 0]) TNut(); + //translate([25, -8, -XOffset]) rotate([0, -90, 0]) TNut(); -//translate([-15, -5, XOffset]) rotate([0, 90, 0]) color("blue") m4_nut(); -//translate([15, -5, XOffset]) rotate([0, 90, 0]) color("blue") m4_nut(); + //translate([-15, -5, XOffset]) rotate([0, 90, 0]) color("blue") m4_nut(); + //translate([15, -5, XOffset]) rotate([0, 90, 0]) color("blue") m4_nut(); +} PART = "lens_assembly_bellows_board"; if (PART == "lens_assembly_bellows_board") { lensAssemblyBellowsBoard(); +} else { + debug(); } diff --git a/stl/arri_s_camera_bellows_board.stl b/stl/arri_s_camera_bellows_board.stl index c65d66d..e9c6566 100644 Binary files a/stl/arri_s_camera_bellows_board.stl and b/stl/arri_s_camera_bellows_board.stl differ diff --git a/stl/arri_s_mount.stl b/stl/arri_s_mount.stl index 31d44a7..a7948d8 100644 Binary files a/stl/arri_s_mount.stl and b/stl/arri_s_mount.stl differ diff --git a/stl/arri_s_mount_center_fitting.stl b/stl/arri_s_mount_center_fitting.stl new file mode 100644 index 0000000..0bd7729 Binary files /dev/null and b/stl/arri_s_mount_center_fitting.stl differ diff --git a/stl/camera_bellows_board.stl b/stl/camera_bellows_board.stl new file mode 100644 index 0000000..6e8e1f9 Binary files /dev/null and b/stl/camera_bellows_board.stl differ diff --git a/stl/jk_lens_assembly_bellows_board.stl b/stl/jk_lens_assembly_bellows_board.stl new file mode 100644 index 0000000..2b7fc6c Binary files /dev/null and b/stl/jk_lens_assembly_bellows_board.stl differ