Compare commits
2 Commits
eec7765e73
...
a7a63a3be7
Author | SHA1 | Date |
---|---|---|
|
a7a63a3be7 | |
|
153ef9eceb |
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.8.15",
|
||||
"version": "1.8.17",
|
||||
"ext_port": 1111,
|
||||
"profiles": {
|
||||
"mcopy": {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "mcopy-app",
|
||||
"version": "1.8.15",
|
||||
"version": "1.8.17",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "mcopy-app",
|
||||
"version": "1.8.15",
|
||||
"version": "1.8.17",
|
||||
"description": "GUI for the mcopy small gauge film optical printer platform",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.8.15",
|
||||
"version": "1.8.17",
|
||||
"ext_port": 1111,
|
||||
"profiles": {
|
||||
"mcopy": {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "mcopy",
|
||||
"version": "1.8.15",
|
||||
"version": "1.8.17",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "mcopy",
|
||||
"version": "1.8.15",
|
||||
"version": "1.8.17",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"arduino": "file:app/lib/arduino",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "mcopy",
|
||||
"version": "1.8.15",
|
||||
"version": "1.8.17",
|
||||
"description": "Small gauge film optical printer platform",
|
||||
"main": "build.js",
|
||||
"directories": {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.8.15",
|
||||
"version": "1.8.17",
|
||||
"ext_port": 1111,
|
||||
"profiles": {
|
||||
"mcopy": {
|
||||
|
|
|
@ -196,7 +196,7 @@ module stepper_mount_block (pos = [0, 0, 0]) {
|
|||
bolt_and_cap_void([-BoltX, -BoltY, 10], H, H);
|
||||
//
|
||||
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]) {
|
||||
NEMA17_motor_shaft([0, 0, -5]);
|
||||
}
|
||||
//octagon_void([0, 0, 3.5]);
|
||||
translate([0, 0, OctoVoidZ]) {
|
||||
octagon_void([0, 0, 3.5], D = 24);
|
||||
/*translate([0, 0, OctoVoidZ]) {
|
||||
for (i = [0 : 7]) {
|
||||
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([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
|
||||
rotate ([0, 0, 45]) {
|
||||
translate([0, (10 / 2) + (KeyWidth / 2), KeyZ]) cube([10, 10, 10], center = true);
|
||||
|
@ -341,11 +342,11 @@ module debug () {
|
|||
panel();
|
||||
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";
|
||||
|
|
|
@ -13,7 +13,7 @@ include <./common/rods.scad>
|
|||
|
||||
RailSpacing = 100; //160
|
||||
ThreadedRodSpacing = 50;
|
||||
RailEndX = RailSpacing + 40;
|
||||
RailEndX = RailSpacing + 72;
|
||||
TNutVoid = 17;
|
||||
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]) {
|
||||
translate(pos) rotate (rot) {
|
||||
//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([-16, 0, 0]) rotate([0, -90, 0]) m3_bolt_void(CapH = 6, BoltH = 10);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
//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);
|
||||
|
||||
|
@ -158,10 +158,11 @@ module camera_sled (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
|||
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) {
|
||||
cylinder(r = R(27), h = 11, center = true, $fn = 120);
|
||||
translate([0, -27 / 2, 0]) cube([27, 27, 11 ], center = true, $fn = 60);
|
||||
|
||||
cylinder(r = R(8.3), h = 16, center = true, $fn = 80);
|
||||
translate([0, -50, 0]) cube([8.3, 100, 16 ], 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]) {
|
||||
D = 16;
|
||||
translate(pos) rotate(rot) {
|
||||
|
@ -183,7 +209,9 @@ 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;
|
||||
|
||||
translate(pos) rotate(rot) {
|
||||
difference () {
|
||||
union () {
|
||||
|
@ -196,12 +224,15 @@ module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) {
|
|||
//camera drive passthrough
|
||||
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]);
|
||||
sled_bearing_void([-RailSpacing / 2, 21.5, 0], [0, -90, 0]);
|
||||
top_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
|
||||
translate([RailSpacing / 2, 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);
|
||||
translate([-LensFrameSpacingX, 53.5, 0]) cube([RailVoid, 32, RailVoid], center = true);
|
||||
|
||||
//
|
||||
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
|
||||
end_2020([(RailEndX / 2) - (Y / 2), 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]);
|
||||
end_2020([-LensFrameSpacingX, LensFrameM3VoidsZ - (6 / 2) - 5.1, 0], [90, 0, 0]);
|
||||
//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();
|
||||
|
@ -261,13 +292,13 @@ module bearing_roller_inner (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
|||
|
||||
module debug () {
|
||||
//translate([50 , -90 - 10, 22]) rotate([0, 90, 0]) bearing_void();
|
||||
rail_end();
|
||||
//rail_end();
|
||||
//camera_sled([0, -90, 0]);
|
||||
/*difference () {
|
||||
difference () {
|
||||
lens_sled([0, -90, 0]);
|
||||
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);
|
||||
}*/
|
||||
}
|
||||
|
||||
//color("green") translate([RailSpacing / 2, -90 + 15, 20]) rotate([0, 0, 0]) linear_extrude(height=100) 2020_profile();
|
||||
//difference () {
|
||||
|
@ -282,6 +313,13 @@ module debug () {
|
|||
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();
|
||||
|
||||
//debug
|
||||
|
@ -293,7 +331,7 @@ module debug () {
|
|||
}
|
||||
|
||||
|
||||
PART = "rail_end";
|
||||
PART = "lens_sledx";
|
||||
|
||||
if (PART == "rail_end") {
|
||||
rail_end();
|
||||
|
|
|
@ -13,5 +13,5 @@ allParts () {
|
|||
|
||||
parallelParts () {
|
||||
PARTS=($(listParts "scad/${1}.scad"))
|
||||
parallel --use-cpus-instead-of-cores -j -1 bash ./scripts/openscadPart.sh "${1}.scad" "{}" "${1}_{}.stl" ::: "${PARTS[@]}"
|
||||
parallel --jobs 8 bash ./scripts/openscadPart.sh "${1}.scad" "{}" "${1}_{}.stl" ::: "${PARTS[@]}"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
openscad --enable=fast-csg -o "./stl/${3}" -D"PART=\"${2}\"" "./scad/${1}"
|
||||
openscad --enable=fast-csg --enable=fast-csg-trust-corefinement --export-format=asciistl -o "./stl/${3}" -D"PART=\"${2}\"" "./scad/${1}"
|
||||
echo "Compiled ${3} from ${1}"
|
||||
if [ -f "./scad/common/c14n_stl.py" ]; then
|
||||
python3 ./scad/common/c14n_stl.py "./stl/${3}"
|
||||
|
|
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