Render all projector and rails in current state
This commit is contained in:
parent
153ef9eceb
commit
a7a63a3be7
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"version": "1.8.16",
|
"version": "1.8.17",
|
||||||
"ext_port": 1111,
|
"ext_port": 1111,
|
||||||
"profiles": {
|
"profiles": {
|
||||||
"mcopy": {
|
"mcopy": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "mcopy-app",
|
"name": "mcopy-app",
|
||||||
"version": "1.8.16",
|
"version": "1.8.17",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "mcopy-app",
|
"name": "mcopy-app",
|
||||||
"version": "1.8.16",
|
"version": "1.8.17",
|
||||||
"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": {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"version": "1.8.16",
|
"version": "1.8.17",
|
||||||
"ext_port": 1111,
|
"ext_port": 1111,
|
||||||
"profiles": {
|
"profiles": {
|
||||||
"mcopy": {
|
"mcopy": {
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "mcopy",
|
"name": "mcopy",
|
||||||
"version": "1.8.16",
|
"version": "1.8.17",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "mcopy",
|
"name": "mcopy",
|
||||||
"version": "1.8.16",
|
"version": "1.8.17",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"arduino": "file:app/lib/arduino",
|
"arduino": "file:app/lib/arduino",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "mcopy",
|
"name": "mcopy",
|
||||||
"version": "1.8.16",
|
"version": "1.8.17",
|
||||||
"description": "Small gauge film optical printer platform",
|
"description": "Small gauge film optical printer platform",
|
||||||
"main": "build.js",
|
"main": "build.js",
|
||||||
"directories": {
|
"directories": {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"version": "1.8.16",
|
"version": "1.8.17",
|
||||||
"ext_port": 1111,
|
"ext_port": 1111,
|
||||||
"profiles": {
|
"profiles": {
|
||||||
"mcopy": {
|
"mcopy": {
|
||||||
|
|
|
@ -196,7 +196,7 @@ module stepper_mount_block (pos = [0, 0, 0]) {
|
||||||
bolt_and_cap_void([-BoltX, -BoltY, 10], H, H);
|
bolt_and_cap_void([-BoltX, -BoltY, 10], H, H);
|
||||||
//
|
//
|
||||||
LED_void([0, 17.25, -4.5], [0, 0, 45]);
|
LED_void([0, 17.25, -4.5], [0, 0, 45]);
|
||||||
LED_void([0, -17.25, 1.5], [0, 0, 45], true);
|
LED_void([0, -17.25, 2.5], [0, 0, 45], true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -259,17 +259,18 @@ module gate_key (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||||
translate([0, 0, -3]) scale([1.07, 1.07, 1]) {
|
translate([0, 0, -3]) scale([1.07, 1.07, 1]) {
|
||||||
NEMA17_motor_shaft([0, 0, -5]);
|
NEMA17_motor_shaft([0, 0, -5]);
|
||||||
}
|
}
|
||||||
//octagon_void([0, 0, 3.5]);
|
octagon_void([0, 0, 3.5], D = 24);
|
||||||
translate([0, 0, OctoVoidZ]) {
|
/*translate([0, 0, OctoVoidZ]) {
|
||||||
for (i = [0 : 7]) {
|
for (i = [0 : 7]) {
|
||||||
rotate([0, 0, i * (360 / 8)]) {
|
rotate([0, 0, i * (360 / 8)]) {
|
||||||
translate([OctoVoidX, 0, 0]) rotate([0, 45, 0]) cube([2, 35, 2], center = true);
|
translate([OctoVoidX, 0, 0]) rotate([0, 45, 0]) cube([2, 35, 2], center = true);
|
||||||
//translate([OctoVoidX, 0, 0]) rotate([90, 0, 0]) cylinder(r = R(2), h = 35, center = true, $fn = 30);
|
//translate([OctoVoidX, 0, 0]) rotate([90, 0, 0]) cylinder(r = R(2), h = 35, center = true, $fn = 30);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
//normalization flat
|
|
||||||
translate([0, 27, -3.5 - (Extension / 2)]) cube([29, 29, 10 + Extension + 1], center = true);
|
//registration flat
|
||||||
|
translate([0, 26.5, -3.5 - (Extension / 2)]) cube([29, 29, 10 + Extension + 1], center = true);
|
||||||
//key
|
//key
|
||||||
rotate ([0, 0, 45]) {
|
rotate ([0, 0, 45]) {
|
||||||
translate([0, (10 / 2) + (KeyWidth / 2), KeyZ]) cube([10, 10, 10], center = true);
|
translate([0, (10 / 2) + (KeyWidth / 2), KeyZ]) cube([10, 10, 10], center = true);
|
||||||
|
@ -341,11 +342,11 @@ module debug () {
|
||||||
panel();
|
panel();
|
||||||
translate([0, -50, 0]) cube([60, 100, 150], center = true);
|
translate([0, -50, 0]) cube([60, 100, 150], center = true);
|
||||||
}
|
}
|
||||||
gate_key([0, -KeyDistance / 2, -13.5], [0, 0, 0]);
|
|
||||||
}
|
}
|
||||||
translate([50, 0, 0]) rotate([0, 0, 45]) cube([100, 250, 150], center = true);
|
//translate([50, 0, 0]) rotate([0, 0, 45]) cube([100, 250, 150], center = true);
|
||||||
}
|
}
|
||||||
|
gate_key([0, -KeyDistance / 2, -13.5], [0, 0, 45]);
|
||||||
}
|
}
|
||||||
|
|
||||||
PART = "gate_key";
|
PART = "gate_key";
|
||||||
|
|
|
@ -13,7 +13,7 @@ include <./common/rods.scad>
|
||||||
|
|
||||||
RailSpacing = 100; //160
|
RailSpacing = 100; //160
|
||||||
ThreadedRodSpacing = 50;
|
ThreadedRodSpacing = 50;
|
||||||
RailEndX = RailSpacing + 40;
|
RailEndX = RailSpacing + 72;
|
||||||
TNutVoid = 17;
|
TNutVoid = 17;
|
||||||
BoltSpacingX = RailSpacing - 30;
|
BoltSpacingX = RailSpacing - 30;
|
||||||
|
|
||||||
|
@ -35,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]) {
|
module bolt_voids_2020 (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||||
translate(pos) rotate (rot) {
|
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 = 6);
|
||||||
translate([0, 20, 0]) rotate([-90, 0, 0]) m3_bolt_void(CapH = 20);
|
translate([0, 25, 0]) rotate([-90, 0, 0]) m3_bolt_void(CapH = 20);
|
||||||
translate([-16, 0, 0]) rotate([0, -90, 0]) m3_bolt_void(CapH = 6, BoltH = 10);
|
translate([-25, 0, 0]) rotate([0, -90, 0]) m3_bolt_void(CapH = 6, BoltH = 20);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ module sled (pos = [0, 0, 0], rot = [90, 0, 0], Length = 60) {
|
||||||
translate([-RailSpacing / 2, 0, 0]) cube([21, 22, Z + 1], center = true);
|
translate([-RailSpacing / 2, 0, 0]) cube([21, 22, Z + 1], center = true);
|
||||||
translate([RailSpacing / 2, 0, 0]) cube([21, 22, Z + 1], center = true);
|
translate([RailSpacing / 2, 0, 0]) cube([21, 22, Z + 1], center = true);
|
||||||
|
|
||||||
//void for bearing roller
|
//void for top bearing rollers
|
||||||
translate([-RailSpacing / 2, -20, 0]) cube([13, 22, Z + 1], center = true);
|
translate([-RailSpacing / 2, -20, 0]) cube([13, 22, Z + 1], center = true);
|
||||||
translate([RailSpacing / 2, -20, 0]) cube([13, 22, Z + 1], center = true);
|
translate([RailSpacing / 2, -20, 0]) cube([13, 22, Z + 1], center = true);
|
||||||
|
|
||||||
|
@ -158,10 +158,11 @@ module camera_sled (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||||
translate(pos) sled(Length = 110);
|
translate(pos) sled(Length = 110);
|
||||||
}
|
}
|
||||||
|
|
||||||
module sled_bearing_void (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
module top_sled_bearing_void (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||||
translate(pos) rotate(rot) {
|
translate(pos) rotate(rot) {
|
||||||
cylinder(r = R(27), h = 11, center = true, $fn = 120);
|
cylinder(r = R(27), h = 11, center = true, $fn = 120);
|
||||||
translate([0, -27 / 2, 0]) cube([27, 27, 11 ], center = true, $fn = 60);
|
translate([0, -27 / 2, 0]) cube([27, 27, 11 ], center = true, $fn = 60);
|
||||||
|
|
||||||
cylinder(r = R(8.3), h = 16, center = true, $fn = 80);
|
cylinder(r = R(8.3), h = 16, center = true, $fn = 80);
|
||||||
translate([0, -50, 0]) cube([8.3, 100, 16 ], center = true, $fn = 60);
|
translate([0, -50, 0]) cube([8.3, 100, 16 ], center = true, $fn = 60);
|
||||||
cylinder(r = R(5.2), h = 40, center = true, $fn = 60);
|
cylinder(r = R(5.2), h = 40, center = true, $fn = 60);
|
||||||
|
@ -169,6 +170,31 @@ module sled_bearing_void (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module side_sled_bearing_void (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||||
|
translate(pos) rotate(rot) {
|
||||||
|
cylinder(r = R(27), h = 11, center = true, $fn = 120);
|
||||||
|
translate([0, -27 / 2, 0]) cube([27, 27, 11 ], center = true, $fn = 60);
|
||||||
|
translate([0, 1, 0]) {
|
||||||
|
cylinder(r = R(8.3), h = 16, center = true, $fn = 80);
|
||||||
|
translate([0, -50, 0]) cube([8.3, 100, 16 ], center = true, $fn = 60);
|
||||||
|
}
|
||||||
|
translate([0, -18, 0]) cube([50, 27, 16.2], center = true, $fn = 60);
|
||||||
|
/*translate([0, -35 / 2, 0]) rotate([90, 0, 0]) {
|
||||||
|
cylinder(r = R(5.2), h = 40, center = true, $fn = 60);
|
||||||
|
translate([0, 0, 27]) cylinder(r = R(9), h = 30, center = true, $fn = 60);
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module side_lens_sled_bearing_plate (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||||
|
Y = 40;
|
||||||
|
translate(pos) rotate(rot) {
|
||||||
|
difference () {
|
||||||
|
cube([25, Y, 15.9], center = true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module lens_sled_m3_bolt_voids (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
module lens_sled_m3_bolt_voids (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||||
D = 16;
|
D = 16;
|
||||||
translate(pos) rotate(rot) {
|
translate(pos) rotate(rot) {
|
||||||
|
@ -183,7 +209,9 @@ module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) {
|
||||||
Y = 40;
|
Y = 40;
|
||||||
LensDriveX = -ThreadedRodSpacing / 2;
|
LensDriveX = -ThreadedRodSpacing / 2;
|
||||||
RailVoid = 20.4;
|
RailVoid = 20.4;
|
||||||
|
LensFrameSpacingX = (RailEndX / 2) - (Y / 2);
|
||||||
LensFrameM3VoidsZ = (60 / 2) + (40 / 2) - 12.5 + 5 + 6;
|
LensFrameM3VoidsZ = (60 / 2) + (40 / 2) - 12.5 + 5 + 6;
|
||||||
|
|
||||||
translate(pos) rotate(rot) {
|
translate(pos) rotate(rot) {
|
||||||
difference () {
|
difference () {
|
||||||
union () {
|
union () {
|
||||||
|
@ -196,12 +224,15 @@ module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) {
|
||||||
//camera drive passthrough
|
//camera drive passthrough
|
||||||
translate([-LensDriveX, 0, 0]) cylinder(r = R(ThreadDiameter + 1), h = Y + 1, center = true, $fn = 60);
|
translate([-LensDriveX, 0, 0]) cylinder(r = R(ThreadDiameter + 1), h = Y + 1, center = true, $fn = 60);
|
||||||
//
|
//
|
||||||
sled_bearing_void([RailSpacing / 2, 21.5, 0], [0, 90, 0]);
|
top_sled_bearing_void([RailSpacing / 2, 21.5, 0], [0, 90, 0]);
|
||||||
sled_bearing_void([-RailSpacing / 2, 21.5, 0], [0, -90, 0]);
|
top_sled_bearing_void([-RailSpacing / 2, 21.5, 0], [0, -90, 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
|
//lens carriage frame
|
||||||
translate([RailSpacing / 2, 53.5, 0]) cube([RailVoid, 32, RailVoid], center = true);
|
translate([LensFrameSpacingX, 53.5, 0]) cube([RailVoid, 32, RailVoid], center = true);
|
||||||
translate([-RailSpacing / 2, 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]);
|
||||||
|
@ -209,8 +240,8 @@ module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) {
|
||||||
}
|
}
|
||||||
|
|
||||||
//rail ends for snug fit
|
//rail ends for snug fit
|
||||||
end_2020([(RailEndX / 2) - (Y / 2), LensFrameM3VoidsZ - (6 / 2) - 5.1, 0], [90, 0, 0]);
|
end_2020([LensFrameSpacingX, LensFrameM3VoidsZ - (6 / 2) - 5.1, 0], [90, 0, 0]);
|
||||||
end_2020([(-RailEndX / 2) + (Y / 2), LensFrameM3VoidsZ - (6 / 2) - 5.1, 0], [90, 0, 0]);
|
end_2020([-LensFrameSpacingX, LensFrameM3VoidsZ - (6 / 2) - 5.1, 0], [90, 0, 0]);
|
||||||
//debug
|
//debug
|
||||||
//translate([-ThreadedRodSpacing / 2, 0, -(Y / 2) + 8.4]) T_nut();
|
//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([-ThreadedRodSpacing / 2, 0, (Y / 2) - 7.5]) rotate([180, 0, 0]) T_nut();
|
||||||
|
@ -261,13 +292,13 @@ module bearing_roller_inner (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||||
|
|
||||||
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();
|
//rail_end();
|
||||||
//camera_sled([0, -90, 0]);
|
//camera_sled([0, -90, 0]);
|
||||||
/*difference () {
|
difference () {
|
||||||
lens_sled([0, -90, 0]);
|
lens_sled([0, -90, 0]);
|
||||||
translate([ 50 + (RailSpacing / 2), -90 - 50, 0]) cube([100, 100, 100], center = true);
|
translate([ 50 + (RailSpacing / 2), -90 - 50, 0]) cube([100, 100, 100], center = true);
|
||||||
//translate([ -50 - (RailSpacing / 2), -90, 0]) cube([100, 100, 100], center = true);
|
//translate([ -50 - (RailSpacing / 2), -90, 0]) cube([100, 100, 100], center = true);
|
||||||
}*/
|
}
|
||||||
|
|
||||||
//color("green") translate([RailSpacing / 2, -90 + 15, 20]) rotate([0, 0, 0]) linear_extrude(height=100) 2020_profile();
|
//color("green") translate([RailSpacing / 2, -90 + 15, 20]) rotate([0, 0, 0]) linear_extrude(height=100) 2020_profile();
|
||||||
//difference () {
|
//difference () {
|
||||||
|
@ -282,6 +313,13 @@ module debug () {
|
||||||
bearing_roller_inner();
|
bearing_roller_inner();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
translate([(RailSpacing / 2) + 21.5, -90, 0]) rotate([0, 0, 0]) {
|
||||||
|
bearing_roller();
|
||||||
|
bearing_roller_inner();
|
||||||
|
}
|
||||||
|
|
||||||
|
color("blue") side_lens_sled_bearing_plate([(RailSpacing / 2) + 30, -90, 0]);
|
||||||
|
|
||||||
//bearing_roller();
|
//bearing_roller();
|
||||||
|
|
||||||
//debug
|
//debug
|
||||||
|
@ -293,7 +331,7 @@ module debug () {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PART = "rail_end";
|
PART = "lens_sledx";
|
||||||
|
|
||||||
if (PART == "rail_end") {
|
if (PART == "rail_end") {
|
||||||
rail_end();
|
rail_end();
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
148990
stl/mcopy_rails_rail_end.stl
148990
stl/mcopy_rails_rail_end.stl
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue