Compare commits

..

No commits in common. "a7a63a3be77eb043f291d4288416a150c1bd8c53" and "eec7765e73993927c9c1f55f57c7092dbe92f1be" have entirely different histories.

18 changed files with 154507 additions and 885768 deletions

View File

@ -1,5 +1,5 @@
{
"version": "1.8.17",
"version": "1.8.15",
"ext_port": 1111,
"profiles": {
"mcopy": {

2
app/package-lock.json generated
View File

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

View File

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

View File

@ -1,5 +1,5 @@
{
"version": "1.8.17",
"version": "1.8.15",
"ext_port": 1111,
"profiles": {
"mcopy": {

4
package-lock.json generated
View File

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

View File

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

View File

@ -1,5 +1,5 @@
{
"version": "1.8.17",
"version": "1.8.15",
"ext_port": 1111,
"profiles": {
"mcopy": {

View File

@ -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, 2.5], [0, 0, 45], true);
LED_void([0, -17.25, 1.5], [0, 0, 45], true);
}
}
}
@ -259,18 +259,17 @@ 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], D = 24);
/*translate([0, 0, OctoVoidZ]) {
//octagon_void([0, 0, 3.5]);
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);
}
}
}*/
//registration flat
translate([0, 26.5, -3.5 - (Extension / 2)]) cube([29, 29, 10 + Extension + 1], center = true);
}
//normalization flat
translate([0, 27, -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);
@ -342,11 +341,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";

View File

@ -13,7 +13,7 @@ include <./common/rods.scad>
RailSpacing = 100; //160
ThreadedRodSpacing = 50;
RailEndX = RailSpacing + 72;
RailEndX = RailSpacing + 40;
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, 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);
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);
}
}
@ -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 top bearing rollers
//void for bearing roller
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,11 +158,10 @@ module camera_sled (pos = [0, 0, 0], rot = [0, 0, 0]) {
translate(pos) sled(Length = 110);
}
module top_sled_bearing_void (pos = [0, 0, 0], rot = [0, 0, 0]) {
module 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);
@ -170,31 +169,6 @@ module top_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) {
@ -209,9 +183,7 @@ 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 () {
@ -224,15 +196,12 @@ 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);
//
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]);
sled_bearing_void([RailSpacing / 2, 21.5, 0], [0, 90, 0]);
sled_bearing_void([-RailSpacing / 2, 21.5, 0], [0, -90, 0]);
//lens carriage frame
translate([LensFrameSpacingX, 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([-RailSpacing / 2, 53.5, 0]) cube([RailVoid, 32, RailVoid], center = true);
//
lens_sled_m3_bolt_voids([(RailEndX / 2) - (Y / 2), LensFrameM3VoidsZ, 0]);
@ -240,8 +209,8 @@ module lens_sled (pos = [0, 0, 0], rot = [90, 0, 0]) {
}
//rail ends for snug fit
end_2020([LensFrameSpacingX, 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([(-RailEndX / 2) + (Y / 2), 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();
@ -292,13 +261,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 () {
@ -313,13 +282,6 @@ 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
@ -331,7 +293,7 @@ module debug () {
}
PART = "lens_sledx";
PART = "rail_end";
if (PART == "rail_end") {
rail_end();

View File

@ -13,5 +13,5 @@ allParts () {
parallelParts () {
PARTS=($(listParts "scad/${1}.scad"))
parallel --jobs 8 bash ./scripts/openscadPart.sh "${1}.scad" "{}" "${1}_{}.stl" ::: "${PARTS[@]}"
parallel --use-cpus-instead-of-cores -j -1 bash ./scripts/openscadPart.sh "${1}.scad" "{}" "${1}_{}.stl" ::: "${PARTS[@]}"
}

View File

@ -1,6 +1,6 @@
#!/bin/bash
openscad --enable=fast-csg --enable=fast-csg-trust-corefinement --export-format=asciistl -o "./stl/${3}" -D"PART=\"${2}\"" "./scad/${1}"
openscad --enable=fast-csg -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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff