From 91ce2dd450f07785286a283fcc19591e05bc8999 Mon Sep 17 00:00:00 2001 From: mattmcw Date: Mon, 9 Oct 2023 09:58:55 -0400 Subject: [PATCH] Add BOM log lines and move rail ends into its own module --- 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 | 34 ++++++++++++++++++++++------------ 8 files changed, 30 insertions(+), 20 deletions(-) diff --git a/app/data/cfg.json b/app/data/cfg.json index 23a6ba1..a5a5625 100644 --- a/app/data/cfg.json +++ b/app/data/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.47", + "version": "1.8.48", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/app/package-lock.json b/app/package-lock.json index 4bb5514..db2c4ef 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,6 +1,6 @@ { "name": "mcopy-app", - "version": "1.8.47", + "version": "1.8.48", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/app/package.json b/app/package.json index 0615c80..5feb0bc 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "mcopy-app", - "version": "1.8.47", + "version": "1.8.48", "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 23a6ba1..a5a5625 100644 --- a/data/cfg.json +++ b/data/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.47", + "version": "1.8.48", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/package-lock.json b/package-lock.json index 24b5987..7a382c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mcopy", - "version": "1.8.47", + "version": "1.8.48", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mcopy", - "version": "1.8.47", + "version": "1.8.48", "license": "MIT", "dependencies": { "arduino": "file:app/lib/arduino", diff --git a/package.json b/package.json index c993135..3097569 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mcopy", - "version": "1.8.47", + "version": "1.8.48", "description": "Small gauge film optical printer platform", "main": "build.js", "directories": { diff --git a/processing/mcopy/cfg.json b/processing/mcopy/cfg.json index 23a6ba1..a5a5625 100644 --- a/processing/mcopy/cfg.json +++ b/processing/mcopy/cfg.json @@ -1,5 +1,5 @@ { - "version": "1.8.47", + "version": "1.8.48", "ext_port": 1111, "profiles": { "mcopy": { diff --git a/scad/mcopy_rails.scad b/scad/mcopy_rails.scad index 1913cc4..54063b2 100644 --- a/scad/mcopy_rails.scad +++ b/scad/mcopy_rails.scad @@ -12,6 +12,7 @@ include <./common/motors.scad> include <./common/rods.scad> RailSpacing = 100; //160 +RailVoid = 20.4; ThreadedRodSpacing = 50; RailEndX = RailSpacing + 72; TNutVoid = 17; @@ -34,8 +35,8 @@ module m3_bolt_void (pos = [0, 0, 0], BoltH = 20, CapH = 3) { module bolt_voids_2020 (pos = [0, 0, 0], rot = [0, 0, 0]) { translate(pos) rotate (rot) { - //translate([0, -25, 0]) rotate([90, 0, 0]) m3_bolt_void(CapH = 6); - translate([0, 25, 0]) rotate([-90, 0, 0]) m3_bolt_void(CapH = 20); + translate([0, -25, 0]) rotate([90, 0, 0]) m3_bolt_void(CapH = 6); + translate([0, 25, 0]) rotate([-90, 0, 0]) m3_bolt_void(CapH = 20); translate([-25, 0, 0]) rotate([0, -90, 0]) m3_bolt_void(CapH = 6, BoltH = 20); } } @@ -79,7 +80,7 @@ module mounting_bolt_void (pos = [0, 0, 0], rot = [0, 0, 0]) { } } -module rail_end (pos = [0, 0, 0], rot = [90, 0, 0], Motors = true) { +module rail_end (pos = [0, 0, 0], rot = [90, 0, 0], Motors = true, Projector = false) { Z = 95; RailVoid = 20.4; translate(pos) rotate(rot) { @@ -126,6 +127,10 @@ module rail_end (pos = [0, 0, 0], rot = [90, 0, 0], Motors = true) { } } +echo("sled"); +echo("BOM: ", "(2) T8 Nut"); +echo("BOM: ", "(1 or 2) Linear bearing"); +echo("BOM: ", "(4 or 8) Radial bearings ()"); module sled (pos = [0, 0, 0], rot = [90, 0, 0], Length = 60) { X = RailEndX; Y = 60; @@ -225,10 +230,19 @@ module lens_sled_m5_bolt_nut_voids (pos = [0, 0, 0], rot = [0, 0, 0], Angle = 36 } } +module extrusion_block (pos = [0, 0, 0], rot = [0, 0, 0], Y = 40, Z = 30) { + translate(pos) rotate(rot) { + difference () { + cube([Y, Z, Y], center = true); + cube([RailVoid, Z + 1, RailVoid], center = true); + } + end_2020([0, 0, 0], [90, 0, 0]); + } +} + module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) { Y = 40; LensDriveX = -ThreadedRodSpacing / 2; - RailVoid = 20.4; LensFrameSpacingX = (RailEndX / 2) - (Y / 2); LensFrameM3VoidsZ = (60 / 2) + (40 / 2) - 12.5 + 5 + 6; @@ -236,8 +250,8 @@ module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) { difference () { union () { 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); + extrusion_block([LensFrameSpacingX, (60 / 2) + (40 / 2) - 5, 0]); + extrusion_block([-LensFrameSpacingX, (60 / 2) + (40 / 2) - 5, 0]); 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]); @@ -251,10 +265,6 @@ module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) { side_sled_bearing_void([(RailSpacing / 2) + 21.5, 0, 0], [90, -90, 0]); side_sled_bearing_void([-(RailSpacing / 2) - 21.5, 0, 0], [-90, -90, 0]); - //lens carriage frame - translate([LensFrameSpacingX, 53.5, 0]) cube([RailVoid, 32, RailVoid], center = true); - translate([-LensFrameSpacingX, 53.5, 0]) cube([RailVoid, 32, RailVoid], center = true); - // lens_sled_m3_bolt_voids([(RailEndX / 2) - (Y / 2), LensFrameM3VoidsZ, 0]); lens_sled_m3_bolt_voids([(-RailEndX / 2) + (Y / 2), LensFrameM3VoidsZ, 0]); @@ -378,12 +388,12 @@ module debug () { } -PART = "lens_sled"; +PART = "rail_end_idle"; if (PART == "rail_end") { rail_end(); } else if (PART == "rail_end_idle") { - rail_end(Motors = false); + rail_end(Motors = false, Projector = true); } else if (PART == "lens_sled") { rotate([-90, 0, 0]) lens_sled(); } else if (PART == "bearing_roller") {