From 082dbc082650f69b89cd4f0da84c3bf86379fc1d Mon Sep 17 00:00:00 2001 From: mattmcw Date: Wed, 6 Sep 2023 00:01:00 -0400 Subject: [PATCH] Add void for motor, threaded rod (optional) and linear rod. --- app/data/cfg.json | 2 +- app/package-lock.json | 2 +- app/package.json | 2 +- data/cfg.json | 2 +- package-lock.json | 4 ++-- package.json | 2 +- processing/mcopy/cfg.json | 2 +- scad/mcopy_rails.scad | 20 +++++++++++++++++--- 8 files changed, 25 insertions(+), 11 deletions(-) diff --git a/app/data/cfg.json b/app/data/cfg.json index a8988d9..277ab78 100644 --- a/app/data/cfg.json +++ b/app/data/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.23", + "version": "1.8.24", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/app/package-lock.json b/app/package-lock.json index 6ff91cb..e9c2e48 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,6 +1,6 @@ { "name": "mcopy-app", - "version": "1.8.23", + "version": "1.8.24", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/app/package.json b/app/package.json index b4637b2..99d070b 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "mcopy-app", - "version": "1.8.23", + "version": "1.8.24", "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 a8988d9..277ab78 100644 --- a/data/cfg.json +++ b/data/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.23", + "version": "1.8.24", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/package-lock.json b/package-lock.json index ec9644a..f4e81b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mcopy", - "version": "1.8.23", + "version": "1.8.24", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mcopy", - "version": "1.8.23", + "version": "1.8.24", "license": "MIT", "dependencies": { "arduino": "file:app/lib/arduino", diff --git a/package.json b/package.json index 4df7259..34fabfb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mcopy", - "version": "1.8.23", + "version": "1.8.24", "description": "Small gauge film optical printer platform", "main": "build.js", "directories": { diff --git a/processing/mcopy/cfg.json b/processing/mcopy/cfg.json index a8988d9..277ab78 100644 --- a/processing/mcopy/cfg.json +++ b/processing/mcopy/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.23", + "version": "1.8.24", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/scad/mcopy_rails.scad b/scad/mcopy_rails.scad index 12fc5f7..1913cc4 100644 --- a/scad/mcopy_rails.scad +++ b/scad/mcopy_rails.scad @@ -218,10 +218,10 @@ module lens_sled_m3_bolt_voids (pos = [0, 0, 0], rot = [0, 0, 0]) { } } -module lens_sled_m5_bolt_nut_voids (pos = [0, 0, 0], rot = [0, 0, 0]) { +module lens_sled_m5_bolt_nut_voids (pos = [0, 0, 0], rot = [0, 0, 0], Angle = 360/12) { translate(pos) rotate(rot) { cylinder(r = R(5.2), h = 40, center = true, $fn = 40); - translate([0, 0, -3.5]) rotate([0, 0, 360/12]) hex(9.2, 5); + translate([0, 0, -3.5]) rotate([0, 0, Angle]) hex(9.2, 5); } } @@ -238,6 +238,7 @@ module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) { sled(rot = [0, 0, 0], Length = Y); translate([(RailEndX / 2) - (Y / 2), (60 / 2) + (40 / 2) - 5, 0]) cube([Y, 30, Y], center = true); translate([-(RailEndX / 2) + (Y / 2), (60 / 2) + (40 / 2) - 5, 0]) cube([Y, 30, Y], center = true); + translate([LensFrameSpacingX - 35 - 25, 48, 0]) cube([10, 21, 40], center = true); } T_nut_void ([LensDriveX, 0, (Y / 2) - (TNutVoid / 2) + 0.01], [180, 0, 0]); T_nut_void ([LensDriveX, 0, -(Y / 2) + (TNutVoid / 2) - 0.01]); @@ -263,6 +264,18 @@ module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) { lens_sled_m5_bolt_nut_voids([(RailEndX / 2) - (40 / 2), 0, -16], [0, 90, 0]); lens_sled_m5_bolt_nut_voids([(-RailEndX / 2) + (40 / 2), 0, 16], [0, -90, 0]); lens_sled_m5_bolt_nut_voids([(-RailEndX / 2) + (40 / 2), 0, -16], [0, -90, 0]); + + //motor void + translate([LensFrameSpacingX - 35, 50 + 37.5, 0]) cube([42.25, 100, 42.25], center = true); + //threaded rod void + translate([LensFrameSpacingX - 35, 50 + 37.5 - 10, 0]) rotate([90, 0, 0]) cylinder(r = R(9), h = 100, center = true, $fn = 60); + + //motor bolts + lens_sled_m5_bolt_nut_voids([LensFrameSpacingX - 35 - 27, 50, 12], [0, -90, 0], Angle = 0); + lens_sled_m5_bolt_nut_voids([LensFrameSpacingX - 35 - 27, 50, -12], [0, -90, 0], Angle = 0); + + //linear bolts + translate([-LensFrameSpacingX + 35, 50 + 37.5 - 10, 0]) rotate([90, 0, 0]) cylinder(r = R(8.6), h = 100, center = true, $fn = 60); } //rail ends for snug fit @@ -278,6 +291,7 @@ module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) { //debug //translate([-ThreadedRodSpacing / 2, 0, -(Y / 2) + 8.4]) T_nut(); //translate([-ThreadedRodSpacing / 2, 0, (Y / 2) - 7.5]) rotate([180, 0, 0]) T_nut(); + //translate([LensFrameSpacingX - 35, 40, 0]) rotate([-90, 0, 0]) NEMA17(H = 20); } } @@ -371,7 +385,7 @@ if (PART == "rail_end") { } else if (PART == "rail_end_idle") { rail_end(Motors = false); } else if (PART == "lens_sled") { - lens_sled(); + rotate([-90, 0, 0]) lens_sled(); } else if (PART == "bearing_roller") { bearing_roller(); } else if (PART == "bearing_roller_inner") {