Tweaks to lens sled gantry

This commit is contained in:
Matt McWilliams 2023-10-26 18:11:35 -04:00
parent 68b1b8b819
commit 986c7a915b
8 changed files with 75 additions and 18 deletions

View File

@ -1,5 +1,5 @@
{
"version": "1.8.61",
"version": "1.8.62",
"ext_port": 1111,
"profiles": {
"mcopy": {

2
app/package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "mcopy-app",
"version": "1.8.61",
"version": "1.8.62",
"lockfileVersion": 2,
"requires": true,
"packages": {

View File

@ -1,6 +1,6 @@
{
"name": "mcopy-app",
"version": "1.8.61",
"version": "1.8.62",
"description": "GUI for the mcopy small gauge film optical printer platform",
"main": "main.js",
"scripts": {

View File

@ -1,5 +1,5 @@
{
"version": "1.8.61",
"version": "1.8.62",
"ext_port": 1111,
"profiles": {
"mcopy": {

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "mcopy",
"version": "1.8.61",
"version": "1.8.62",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "mcopy",
"version": "1.8.61",
"version": "1.8.62",
"license": "MIT",
"dependencies": {
"arduino": "file:app/lib/arduino",

View File

@ -1,6 +1,6 @@
{
"name": "mcopy",
"version": "1.8.61",
"version": "1.8.62",
"description": "Small gauge film optical printer platform",
"main": "build.js",
"directories": {

View File

@ -1,5 +1,5 @@
{
"version": "1.8.61",
"version": "1.8.62",
"ext_port": 1111,
"profiles": {
"mcopy": {

View File

@ -19,6 +19,7 @@ TNutVoid = 17;
BoltSpacingX = RailSpacing - 30;
LensFrameSpacingX = 100;
LensRodsOffsetZ = -15;
module rail_debug (H = 175) {
color("lime") linear_extrude(height=H) {
@ -231,7 +232,6 @@ module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) {
LensFrameBlockY = (60 / 2) + (40 / 2) - 5;
LensFrameM3VoidsZ = (60 / 2) + (40 / 2) - 12.5 + 5 + 6;
LensFrameOffsetZ = 20;
LensRodsOffsetZ = -15;
BearingsSpacing = 28;
BearingM5Spacing = 62;
@ -313,7 +313,7 @@ module side_lens_sled_bearing_plate (pos = [0, 0, 0], rot = [0, 0, 0]) {
translate(pos) rotate(rot) {
difference () {
cube([25, Y, 15.9], center = true);
//sides
translate([-9, 52, 0]) cube([25, Y, 15.9 + 1], center = true);
translate([-9, -52, 0]) cube([25, Y, 15.9 + 1], center = true);
@ -419,13 +419,13 @@ module corner_outer_bracket (pos = [0, 0, 0], rot = [0, 0, 0], Rotate = false, S
translate([-(W / 2) - (T / 2) - 0.2 + 1, 0, (H / 2) - 4.5]) cube([T, 5.5, H], center = true);
//
if (!Rotate || Side == "right") {
translate([8.3, (W / 2) + (T / 2), (40 / 2) - T])difference () {
translate([8.35, (W / 2) + (T / 2), (40 / 2) - T])difference () {
cube([H + 0.4, T, H], center = true);
translate([0, 0, 33.5]) rotate([0, 45, 0]) cube([H * 3, T + 1, H], center = true);
}
}
if (!Rotate || Side == "left") {
translate([8.3, -(W / 2) - (T / 2), (40 / 2) - T])difference () {
translate([8.35, -(W / 2) - (T / 2) , (40 / 2) - T])difference () {
cube([H + 0.4, T, H], center = true);
translate([0, 0, 33.5]) rotate([0, 45, 0]) cube([H * 3, T + 1, H], center = true);
}
@ -444,8 +444,58 @@ module corner_outer_bracket (pos = [0, 0, 0], rot = [0, 0, 0], Rotate = false, S
}
module lens_frame_top_gantry (pos = [0, 0, 0], rot = [0, 0, 0]) {
corner_outer_bracket([75, -20, 260], [180, 90, 0], Rotate = false);
corner_outer_bracket([-75, -20, 260], [0, 90, 0], Rotate = false);
translate(pos) rotate(rot) {
difference() {
union () {
corner_outer_bracket([(LensFrameSpacingX / 2) + 14.65, 0, 8.85], [180, 0, 180], Rotate = false);
corner_outer_bracket([(-LensFrameSpacingX / 2) - 14.65, 0, 8.85], [180, 0, 0], Rotate = false);
translate([0, 0, 11.85]) cube([71, 26.3, 3], center = true);
translate([0, 0, 11.85-1]) cube([71, 5.5, 3], center = true);
translate([0, -11.65, 11.85 - 10]) cube([120, 3, 20], center = true);
translate([0, 11.65, 11.85 - 5]) cube([120, 3, 10], center = true);
//threaded rod
translate([53, 31, 8.35]) difference() {
cube([50, 40, 10], center = true);
translate([-20, 20, 0]) rotate([0, 0, 45]) cube([70, 40, 10 + 1], center = true);
}
translate([LensFrameSpacingX - 35, -LensRodsOffsetZ + 20, -3]) cylinder(r = R(22), h = 25, center = true, $fn = 120);
//linear rod
translate([-53, 31, 8.35]) difference() {
cube([50, 40, 10], center = true);
translate([20, 20, 0]) rotate([0, 0, -45]) cube([70, 40, 10 + 1], center = true);
}
translate([-LensFrameSpacingX + 35 - 2, -LensRodsOffsetZ + 20, -3]) cube([22, 19, 15], center = true);
}
translate([LensFrameSpacingX - 35, -LensRodsOffsetZ + 20, -5]) {
linear_bearing(padD = 0.2);
translate([0, 0, 2]) linear_bearing(padD = 0.2);
cylinder(r = R(ThreadDiameter + 1), h = 40, center = true, $fn = 60);
}
translate([-LensFrameSpacingX + 35, -LensRodsOffsetZ + 20, -5]) {
cylinder(r = R(ThreadDiameter + 0.1), h = 40, center = true, $fn = 60);
}
//center bolt
m3_bolt_void([0, 0, 12.75]);
translate([0, 0, 6.35]) cube([7, 7, 8], center = true);
//linear rod m4 bolt void
translate([-73, 35, -3]) {
translate([0, 0, -10]) cube([3.1, 8.25, 20], center = true);
rotate([90, 0, 90]) {
m4_nut();
cylinder(r = R(4), h = 15, center = true, $fn = 30);
}
}
}
}
}
module debug () {
@ -460,10 +510,14 @@ module debug () {
color("green") translate([(LensFrameSpacingX / 2) + 15, -20, 50]) rotate([0, 0, 0]) linear_extrude(height=200) 2020_profile();
color("green") translate([-(LensFrameSpacingX / 2) - 15, -20, 50]) rotate([0, 0, 0]) linear_extrude(height=200) 2020_profile();
color("green") translate([-(LensFrameSpacingX + 30 + 20) / 2, -20, 260]) rotate([0, 90, 0]) linear_extrude(height = LensFrameSpacingX + 30 + 20) 2020_profile();
//color("green") translate([-(LensFrameSpacingX + 30 + 20) / 2, -20, 260]) rotate([0, 90, 0]) linear_extrude(height = LensFrameSpacingX + 30 + 20) 2020_profile();
color("blue") translate([LensFrameSpacingX - 35, -LensRodsOffsetZ, 140]) cylinder(r = R(9), h = 300, center = true, $fn = 60);
color("blue") translate([-LensFrameSpacingX + 35, -LensRodsOffsetZ, 140]) cylinder(r = R(9), h = 300, center = true, $fn = 60);
//difference () {
//intersection() {
lens_sled([0, 0, 0]);
//lens_sled([0, 0, 0]);
//cube([132, 1, 100], center = true);
//translate([-30, -90 + 30 - 1, 10]) cube([90, 60, 45], center = true);
//translate([150, -90, 50]) cube([200, 100, 100], center = true);
@ -482,6 +536,7 @@ module debug () {
*/
color("blue") side_lens_sled_bearing_plate([(RailSpacing / 2) + 23.5 + 20, 0, 0]);
lens_frame_top_gantry([0, -20, 260]);
//bearing_roller();
@ -499,14 +554,14 @@ module debug () {
}
PART = "side_lens_sled_bearing_plate";
PART = "lens_frame_top_gantry";
if (PART == "rail_end") {
rail_end();
} else if (PART == "rail_end_idle") {
rail_end(Motors = false, Projector = true);
} else if (PART == "lens_sled") {
rotate([-90, 0, 0]) lens_sled();
rotate([90, 0, 0]) lens_sled();
} else if (PART == "bearing_roller") {
bearing_roller();
} else if (PART == "bearing_roller_inner") {
@ -519,6 +574,8 @@ if (PART == "rail_end") {
corner_outer_bracket();
} else if (PART == "corner_outer_bracket_rotated") {
corner_outer_bracket(Rotate = true);
} else if (PART == "lens_frame_top_gantry") {
lens_frame_top_gantry(rot = [180, 0, 0]);
} else {
debug();
}