Add plugs for linear bearings in rail ends.

This commit is contained in:
Matt McWilliams 2023-11-19 16:08:37 -05:00
parent 5fbefeecbf
commit 042533dc85
8 changed files with 83 additions and 11 deletions

View File

@ -1,5 +1,5 @@
{ {
"version": "1.8.70", "version": "1.8.71",
"ext_port": 1111, "ext_port": 1111,
"profiles": { "profiles": {
"mcopy": { "mcopy": {

2
app/package-lock.json generated
View File

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

View File

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

View File

@ -1,5 +1,5 @@
{ {
"version": "1.8.70", "version": "1.8.71",
"ext_port": 1111, "ext_port": 1111,
"profiles": { "profiles": {
"mcopy": { "mcopy": {

4
package-lock.json generated
View File

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

View File

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

View File

@ -1,5 +1,5 @@
{ {
"version": "1.8.70", "version": "1.8.71",
"ext_port": 1111, "ext_port": 1111,
"profiles": { "profiles": {
"mcopy": { "mcopy": {

View File

@ -66,6 +66,28 @@ module bolt_voids_motor (pos = [0, 0, 0]) {
} }
} }
module bolt_nut_voids_motor (pos = [0, 0, 0]) {
Corner = NEMA17BoltSpacing / 2;
translate(pos) {
translate([Corner, Corner, 0]) {
m3_bolt_void(CapH = 30, BoltH = 40);
translate([0, 0, -20]) m3_nut();
}
translate([Corner, -Corner, 0]) {
m3_bolt_void(CapH = 30, BoltH = 40);
translate([0, 0, -20]) m3_nut();
}
translate([-Corner, Corner, 0]) {
m3_bolt_void(CapH = 30, BoltH = 40);
translate([0, 0, -20]) m3_nut();
}
translate([-Corner, -Corner, 0]) {
m3_bolt_void(CapH = 30, BoltH = 40);
translate([0, 0, -20]) m3_nut();
}
}
}
module T_nut_void (pos = [0, 0, 0], rot = [0, 0, 0]) { module T_nut_void (pos = [0, 0, 0], rot = [0, 0, 0]) {
translate(pos) rotate(rot) { translate(pos) rotate(rot) {
cylinder(r = R(TNutDiameter2 + 0.1), h = TNutVoid + .01, center = true, $fn = 60); cylinder(r = R(TNutDiameter2 + 0.1), h = TNutVoid + .01, center = true, $fn = 60);
@ -599,6 +621,34 @@ module projector_orbital_brace_corner (pos = [0, 0, 0], rot = [0, 0, 0]) {
} }
} }
module rail_end_idle_roller_plug (pos = [0, 0, 0], rot = [0, 0, 0]) {
H = 13.8;
translate(pos) rotate(rot) {
difference () {
union () {
cylinder(r = R(15), h = H, center = true, $fn = 80);
translate([0, 0, -(H / 2) + (1.5 / 2)]) cylinder(r = R(20), h = 1.5, center = true, $fn = 80);
}
cylinder(r = R(10), h = H + 1, center = true, $fn = 80);
}
}
}
module rail_end_idle_motor_plug (pos = [0, 0, 0], rot = [0, 0, 0]) {
H = 45;
translate(pos) rotate(rot) {
difference () {
union () {
cylinder(r = R(NEMA17PadD), h = H, center = true, $fn = 100);
translate([0, 0, -(H / 2) + (5 / 2)]) rounded_cube([43, 43, 5], d = 8, center = true, $fn = 40);
}
cylinder(r = R(10), h = H + 1, center = true, $fn = 80);
bolt_nut_voids_motor([0, 0, -2]);
translate([0, 0, 10.6]) linear_bearing(padD = 0.2);
}
}
}
module debug () { module debug () {
//translate([50 , -90 - 10, 22]) rotate([0, 90, 0]) bearing_void(); //translate([50 , -90 - 10, 22]) rotate([0, 90, 0]) bearing_void();
rail_end([0, 20, 0], Projector = true); rail_end([0, 20, 0], Projector = true);
@ -681,8 +731,25 @@ module debug () {
//projector_orbital_brace_corner([0, 0, -8]); //projector_orbital_brace_corner([0, 0, -8]);
} }
module rail_sizing (L = 300) {
SpacingY = L - 30;
RailL = L;
difference () {
rail_end([0, SpacingY / 2, 0], Motors = false, Projector = false);
translate([0, SpacingY / 2, 25]) cube([200, 200, 50], center = true);
}
difference () {
rail_end([0, -SpacingY / 2, 0], [90, 0, 180], Projector = true);
translate([0, -SpacingY / 2, 25]) cube([200, 200, 50], center = true);
}
translate([55, RailL / 2, 0]) rotate([90, 0, 0]) linear_extrude(height=RailL) 2020_profile();
rotate([90, 0, 0]) color("green") cylinder(r = R(ThreadDiameter), h = L, center = true, $fn = 60);
lens_sled();
translate([25, -35+17, 0]) rotate([90, 0, 0]) color("green") cylinder(r = R(ThreadDiameter), h = L, center = true, $fn = 60);
}
PART = "projector_orbital_brace";
PART = "rail_end_idle_motor_plug";
if (PART == "rail_end") { if (PART == "rail_end") {
rail_end(Projector = true); rail_end(Projector = true);
@ -708,6 +775,11 @@ if (PART == "rail_end") {
projector_orbital_brace(rot = [180, 0, 0]); projector_orbital_brace(rot = [180, 0, 0]);
} else if (PART == "projector_orbital_brace_corner") { } else if (PART == "projector_orbital_brace_corner") {
projector_orbital_brace_corner(); projector_orbital_brace_corner();
} else if (PART == "rail_end_idle_roller_plug") {
rail_end_idle_roller_plug();
} else if (PART == "rail_end_idle_motor_plug") {
rail_end_idle_motor_plug();
} else { } else {
debug(); //debug();
rail_sizing();
} }