All work towards creating a sled rail for the lens carriage assembly
This commit is contained in:
parent
4c0fa2ba41
commit
788cac7d50
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.8.0",
|
||||
"version": "1.8.1",
|
||||
"ext_port": 1111,
|
||||
"profiles": {
|
||||
"mcopy": {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "mcopy-app",
|
||||
"version": "1.8.0",
|
||||
"version": "1.8.1",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "mcopy-app",
|
||||
"version": "1.8.0",
|
||||
"version": "1.8.1",
|
||||
"description": "GUI for the mcopy small gauge film optical printer platform",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.8.0",
|
||||
"version": "1.8.1",
|
||||
"ext_port": 1111,
|
||||
"profiles": {
|
||||
"mcopy": {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "mcopy",
|
||||
"version": "1.8.0",
|
||||
"version": "1.8.1",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "mcopy",
|
||||
"version": "1.8.0",
|
||||
"version": "1.8.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"arduino": "file:app/lib/arduino",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "mcopy",
|
||||
"version": "1.8.0",
|
||||
"version": "1.8.1",
|
||||
"description": "Small gauge film optical printer platform",
|
||||
"main": "build.js",
|
||||
"directories": {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.8.0",
|
||||
"version": "1.8.1",
|
||||
"ext_port": 1111,
|
||||
"profiles": {
|
||||
"mcopy": {
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
/**
|
||||
* Optical Printer Rails
|
||||
*
|
||||
* Camera Drive = +X
|
||||
* Lens Drive = -X
|
||||
**/
|
||||
|
||||
use <2020_profile.scad>
|
||||
//include <jk_rails.scad>
|
||||
include <./common/common.scad>
|
||||
|
@ -7,6 +14,13 @@ include <./common/rods.scad>
|
|||
RailSpacing = 100;
|
||||
ThreadedRodSpacing = 50;
|
||||
RailEndX = 140;
|
||||
TNutVoid = 17;
|
||||
|
||||
module rail_debug (H = 175) {
|
||||
color("lime") linear_extrude(height=H) {
|
||||
2020_profile();
|
||||
}
|
||||
}
|
||||
|
||||
module m3_bolt_void (pos = [0, 0, 0], BoltH = 20, CapH = 3) {
|
||||
D = 3.25;
|
||||
|
@ -35,6 +49,13 @@ module bolt_voids_motor (pos = [0, 0, 0]) {
|
|||
}
|
||||
}
|
||||
|
||||
module T_nut_void (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||
translate(pos) rotate(rot) {
|
||||
cylinder(r = R(TNutDiameter2 + 0.1), h = TNutVoid + .01, center = true, $fn = 60);
|
||||
translate([0, 0, -(TNutVoid / 2) + (6 / 2)]) cylinder(r = R(TNutDiameter1 + 0.1), h = 6.01, center = true, $fn = 60);
|
||||
}
|
||||
}
|
||||
|
||||
module rail_end (pos = [0, 0, 0], rot = [90, 0, 0], Motors = true) {
|
||||
translate(pos) rotate(rot) difference () {
|
||||
difference () {
|
||||
|
@ -50,10 +71,14 @@ module rail_end (pos = [0, 0, 0], rot = [90, 0, 0], Motors = true) {
|
|||
bolt_voids_2020([-RailSpacing / 2, 0, 0]);
|
||||
rotate([0, 180, 0]) bolt_voids_2020([-RailSpacing / 2, 0, 0]);
|
||||
if (Motors) {
|
||||
|
||||
//camera drive motor
|
||||
translate([ThreadedRodSpacing / 2, 0, 0]) {
|
||||
cylinder(r = R(NEMA17PadD + 0.5), h = 60, center = true, $fn = 100);
|
||||
bolt_voids_motor([0, 0, 16]);
|
||||
}
|
||||
|
||||
//lens drive motor
|
||||
translate([-ThreadedRodSpacing / 2, 0, 0]) {
|
||||
cylinder(r = R(NEMA17PadD + 0.5), h = 60, center = true, $fn = 100);
|
||||
bolt_voids_motor([0, 0, 16]);
|
||||
|
@ -72,9 +97,64 @@ module rail_end (pos = [0, 0, 0], rot = [90, 0, 0], Motors = true) {
|
|||
}
|
||||
}
|
||||
|
||||
rail_end();
|
||||
module sled (pos = [0, 0, 0], rot = [90, 0, 0], Length = 50) {
|
||||
X = RailEndX;
|
||||
Y = 50;
|
||||
Z = Length;
|
||||
translate(pos) rotate(rot) difference () {
|
||||
translate([0, 5, 0]) rounded_cube([X, Y, Z], d = 10, center = true, $fn = 50);
|
||||
//extrusion rails
|
||||
translate([-RailSpacing / 2, 0, 0]) cube([21, 21, Z + 1], center = true);
|
||||
translate([RailSpacing / 2, 0, 0]) cube([21, 21, Z + 1], center = true);
|
||||
//linear motion rod void
|
||||
cylinder(r = R(LinearMotionDiameter + 0.2), h = Z + 1, center = true, $fn = 60);
|
||||
|
||||
//linear motion rod bearing voids
|
||||
translate([0, 0, (Length / 2) - (LinearBearingHeight / 2) + 0.01]) cylinder(r = R(LinearBearingOuterDiameter + 0.2), h = LinearBearingHeight, center = true, $fn = 100);
|
||||
translate([0, 0, -(Length / 2) + (LinearBearingHeight / 2) - 0.01]) cylinder(r = R(LinearBearingOuterDiameter + 0.2), h = LinearBearingHeight, center = true, $fn = 100);
|
||||
|
||||
//threaded rod voids
|
||||
translate([ThreadedRodSpacing / 2, 0, 0]) cylinder(r = R(ThreadDiameter + 0.2), h = Z + 1, center = true, $fn = 60);
|
||||
translate([-ThreadedRodSpacing / 2, 0, 0]) cylinder(r = R(ThreadDiameter + 0.2), h = Z + 1, center = true, $fn = 60);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//translate([-35, 0, -25]) linear_extrude(height=175) 2020_profile();
|
||||
module camera_sled (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||
translate(pos) sled(Length = 110);
|
||||
}
|
||||
|
||||
module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) {
|
||||
Y = 50;
|
||||
LensDriveX = -ThreadedRodSpacing / 2;
|
||||
translate(pos) rotate(rot) {
|
||||
difference () {
|
||||
sled(rot = [0, 0, 0], Length = Y);
|
||||
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]);
|
||||
//camera drive passthrough
|
||||
translate([-LensDriveX, 0, 0]) cylinder(r = R(ThreadDiameter + 1), h = Y + 1, center = true, $fn = 60);
|
||||
}
|
||||
|
||||
//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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//rail_end();
|
||||
//camera_sled([0, -90, 0]);
|
||||
//lens_sled([0, -90, 0]);
|
||||
//difference () {
|
||||
//intersection() {
|
||||
//lens_sled([0, -90, 0]);
|
||||
//translate([-30, -90 + 30 - 1, 10]) cube([90, 60, 45], center = true);
|
||||
//translate([0, -90, 50]) cube([200, 100, 100], center = true);
|
||||
//}
|
||||
|
||||
//debug
|
||||
//translate([-RailSpacing / 2, 0, 0]) rotate([90, 0, 0]) rail_debug(175);
|
||||
//translate([RailSpacing / 2, 0, 0]) rotate([90, 0, 0]) linear_extrude(height=175) 2020_profile();
|
||||
|
||||
//translate([ThreadedRodSpacing / 2, 40, 0]) rotate([90, 0, 0]) color("blue") NEMA17();
|
||||
|
|
Loading…
Reference in New Issue