diff --git a/app/data/cfg.json b/app/data/cfg.json index 9a6d96a..5402799 100644 --- a/app/data/cfg.json +++ b/app/data/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.126", + "version": "1.8.127", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/app/package-lock.json b/app/package-lock.json index f7c1df3..7ca6a32 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,6 +1,6 @@ { "name": "mcopy-app", - "version": "1.8.126", + "version": "1.8.127", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/app/package.json b/app/package.json index a8b1ab8..e233c04 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "mcopy-app", - "version": "1.8.126", + "version": "1.8.127", "description": "GUI for the mcopy small gauge film optical printer platform", "main": "main.js", "scripts": { diff --git a/data/cfg.json b/data/cfg.json index 9a6d96a..5402799 100644 --- a/data/cfg.json +++ b/data/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.126", + "version": "1.8.127", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/package-lock.json b/package-lock.json index bd1215a..64cae6a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mcopy", - "version": "1.8.126", + "version": "1.8.127", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mcopy", - "version": "1.8.126", + "version": "1.8.127", "license": "MIT", "dependencies": { "alert": "file:app/lib/alert", diff --git a/package.json b/package.json index 0c248af..a8304fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mcopy", - "version": "1.8.126", + "version": "1.8.127", "description": "Small gauge film optical printer platform", "main": "build.js", "directories": { diff --git a/processing/mcopy/cfg.json b/processing/mcopy/cfg.json index 9a6d96a..5402799 100644 --- a/processing/mcopy/cfg.json +++ b/processing/mcopy/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.126", + "version": "1.8.127", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/scad/bellows.scad b/scad/bellows.scad index 870d3a2..27447e2 100644 --- a/scad/bellows.scad +++ b/scad/bellows.scad @@ -122,7 +122,7 @@ module bellows_board_magnetic(H = 3) { } } -PART = "lens_board"; +PART = "camera_mount"; if (!LIBRARY && PART == "camera_board") { bellows_camera_board(); diff --git a/scad/mcopy_lens_assembly.scad b/scad/mcopy_lens_assembly.scad index a141348..50e58db 100644 --- a/scad/mcopy_lens_assembly.scad +++ b/scad/mcopy_lens_assembly.scad @@ -343,7 +343,7 @@ module lensAssemblyThreadedKnob () { module jkLensDebug () { PostsSpacingX = 130; - BoltSpacingX = 78.5; + BoltSpacingX = 78.5 + 5.3; BoltD = 4.25; difference () { @@ -365,6 +365,70 @@ module jkLensDebug () { } } +module jkLens2020Brace (pos = [0, 0, 0]) { + W = 20.3; + translate(pos) { + difference () { + cube([26.5, 26.5, 20], center = true); + translate([0, 0, 4]) cube([W, W, 20], center = true); + m3_bolt_void (pos = [12, 0, 4], rot = [0, 90, 0], BoltH = 6, CapH = 3); + m3_bolt_void (pos = [-12, 0, 4], rot = [0, -90, 0], BoltH = 6, CapH = 3); + m3_bolt_void (pos = [0, 12, 4], rot = [-90, 0, 0], BoltH = 6, CapH = 3); + m3_bolt_void (pos = [0, -12, 4], rot = [90, 0, 0], BoltH = 6, CapH = 3); + } + end_2020([0, 0, -4]); + + } +} + +module jkLensLinearRodTerminalBlock (pos = [0, 0, 0]) { + translate(pos) difference() { + cube([26.5, 20, 15], center = true); + cylinder(r = 8.1 / 2, h = 15 + 1, center = true, $fn = 50); + translate([12, 0, 0]) rotate([0, 90, 180]) m4BoltNut(20); + } + +} + +module jkLensMount () { + BoltSpacingX = 78.5 + 5.3; + BoltD = 4.25; + RailsY = -32; + difference () { + union() { + cube([140, 15.5, 3], center = true); + translate([0, 0, 3]) cube([140, 20.5, 3], center = true); + translate([(140 / 2) - (32 / 2), (20.5 / 2) + (6 / 2) - 0.01, -5.5]) cube([32, 6, 20], center = true); + translate([(-140 / 2) + (32 / 2), (20.5 / 2) + (6 / 2) - 0.01, -5.5]) cube([32, 6, 20], center = true); + translate([8.25, 0, 0]) { + jkLens2020Brace([130 / 2, 3, 11.5]); + jkLens2020Brace([-130 / 2, 3, 11.5]); + + //shelves + translate([130 / 2, -25, 4]) cube([26.5, 40, 5], center = true); + translate([-130 / 2, -25, 4]) cube([26.5, 40, 5], center = true); + + //linear rod terminal block + jkLensLinearRodTerminalBlock([130 / 2, -32, 14]); + + //threaded rod bearing block + translate([-130 / 2, -32, 12]) cylinder(r = 22.5 / 2, h = 20, center = true, $fn = 90); + } + } + translate([BoltSpacingX / 2, 0, 0]) cylinder( r = BoltD / 2, h = 20, center = true, $fn = 30); + translate([-BoltSpacingX / 2, 0, 0]) cylinder( r = BoltD / 2, h = 20, center = true, $fn = 30); + + translate([-BoltSpacingX / 2, 0, 14.5]) cylinder( r = 8/ 2, h = 20, center = true, $fn = 30); + + translate([-(130 / 2) + 8.25, -32, 8]) { + linear_bearing(padD = 0.2); + cylinder(r = 9 / 2, h = 40, center = true, $fn = 40); + } + } + //translate([(130 / 2) + 8.25, RailsY, XOffset]) rotate([0, 0, 0]) linearMotionRod(RodLength); + //translate([(-130 / 2) + 8.25, RailsY, XOffset]) rotate([0, 0, 0]) linearMotionRod(RodLength); +} + module debug () { XSpacing = 130; translate([0, 0, ZPosition]) { @@ -416,7 +480,7 @@ module debug () { lens_frame_top_gantry([0, 45, 90], [0, 0, 180]); } -PART = "lens_assembly_bellows_board_magneticx"; +PART = "lens_assembly_jk_mount"; if (PART == "lens_assembly_camera_bellows_board") { bellows_camera_board(); @@ -438,6 +502,8 @@ if (PART == "lens_assembly_camera_bellows_board") { lensAssemblyThreadedKnob(); } else if (PART == "lens_assembly_threaded_collar") { lensAssemblyThreadedCollar(6, 0.2); +} else if (PART == "lens_assembly_jk_mount") { + jkLensMount(); } else { debug(); }