Overhaul of scad submodules and scripts. Use the scad.sh script in the common module
This commit is contained in:
parent
71e541afb5
commit
02e697822b
|
@ -10,3 +10,7 @@
|
|||
path = scad/MCAD
|
||||
url = https://github.com/openscad/MCAD.git
|
||||
ignore = dirty
|
||||
[submodule "scad/takeup"]
|
||||
path = scad/takeup
|
||||
url = https://git.sixteenmillimeter.com/modules/takeup.git
|
||||
ignore = dirty
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.8.154",
|
||||
"version": "1.8.155",
|
||||
"ext_port": 1111,
|
||||
"profiles": {
|
||||
"mcopy": {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "mcopy-app",
|
||||
"version": "1.8.154",
|
||||
"version": "1.8.155",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "mcopy-app",
|
||||
"version": "1.8.154",
|
||||
"version": "1.8.155",
|
||||
"description": "GUI for the mcopy small gauge film optical printer platform",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.8.154",
|
||||
"version": "1.8.155",
|
||||
"ext_port": 1111,
|
||||
"profiles": {
|
||||
"mcopy": {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "mcopy",
|
||||
"version": "1.8.154",
|
||||
"version": "1.8.155",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "mcopy",
|
||||
"version": "1.8.154",
|
||||
"version": "1.8.155",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"alert": "file:app/lib/alert",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "mcopy",
|
||||
"version": "1.8.154",
|
||||
"version": "1.8.155",
|
||||
"description": "Small gauge film optical printer platform",
|
||||
"main": "build.js",
|
||||
"directories": {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "1.8.154",
|
||||
"version": "1.8.155",
|
||||
"ext_port": 1111,
|
||||
"profiles": {
|
||||
"mcopy": {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
use <./common/common.scad>;
|
||||
|
||||
BolexFilmPlaneZ = 108.7;
|
||||
BolexFilmPlaneX = 0;
|
||||
BolexFilmPlaneY = 0;
|
||||
BolexFilmPlaneX = -13.5;
|
||||
BolexFilmPlaneY = (78 / 2) - 4;
|
||||
|
||||
module debug_bolex_film_plane (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
||||
translate(pos) rotate(rot) {
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
use <./common/common.scad>;
|
||||
use <./bolex.scad>;
|
||||
|
||||
|
@ -26,13 +25,19 @@ C2 = 90.6;
|
|||
OFFSETX = 0;
|
||||
|
||||
CameraSledBolexZ = 33;
|
||||
CameraSledBolexX = 100;
|
||||
CameraSledBolexY = 105;
|
||||
CameraSledBolexX = 120;
|
||||
CameraSledBolexY = 110;
|
||||
|
||||
CameraSledBolexOffsetX = 13.5;
|
||||
CameraSledBolexBoltOffsetY = -33;
|
||||
CameraSledBolexBoltSpacingY = 52;
|
||||
|
||||
CameraSledBolexPlateX = 60;
|
||||
CameraSledBolexPlateY = 90;
|
||||
CameraSledBolexPlateZ = 15;
|
||||
|
||||
CameraSledBolexPlateOffsetY = 0;
|
||||
|
||||
CameraBoltX = (A1 + A2) / 2; //75;
|
||||
CameraBoltY = (C1 + C2) / 2;
|
||||
|
||||
|
@ -128,7 +133,7 @@ module jk_camera_sled_bolex (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
|||
translate(pos) rotate(rot) {
|
||||
difference () {
|
||||
|
||||
rounded_cube([X, Y, Z], d = 10, center = true, $fn = 40);
|
||||
translate([CameraSledBolexOffsetX, 0, 0]) rounded_cube([X, Y, Z], d = 10, center = true, $fn = 40);
|
||||
translate([0, 0, -20]) rounded_cube([CameraBoltX - 10, CameraBoltY - 10, Z], d = 10, center = true, $fn = 40);
|
||||
|
||||
enlarged_m5_bolt_void([CameraBoltX / 2, CameraBoltY / 2, -10], BoltH = Z * 2, CapH = Z);
|
||||
|
@ -145,14 +150,33 @@ module jk_camera_sled_bolex (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
|||
|
||||
|
||||
//void for plate
|
||||
camera_sled_bolex_plate_blank([0, -(PlateY / 2), (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2)], PadX = 0.4, PadY = PlateY, PadZ = 0.1);
|
||||
|
||||
translate([-33, -22, 10]) rotate([0, 90, 0]) m5_nut();
|
||||
translate([-33, -22, 20]) cube([5, 7.9, 20], center = true);
|
||||
|
||||
//m5 bolt
|
||||
translate([-25, -22, 10]) cy(5.1, 25, 40, Y = 90);
|
||||
translate([-25 - 27, -22, 10]) cy(9, 30, 40, Y = 90);
|
||||
camera_sled_bolex_plate_blank([CameraSledBolexOffsetX, -(PlateY / 2), (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2)], PadX = 0.4, PadY = PlateY, PadZ = 0.1);
|
||||
|
||||
//m5 bolt sides
|
||||
translate([-25 + CameraSledBolexOffsetX, CameraSledBolexBoltOffsetY, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 1]) {
|
||||
cy(5.1, 25, 40, Y = 90);
|
||||
translate([-27 , 0, 0]) cy(9, 30, 40, Y = 90);
|
||||
translate([-9, 0, 0]) rotate([0, 90, 0]) m5_nut();
|
||||
translate([-9, 0, 11]) cube([5, 7.9, 20], center = true);
|
||||
}
|
||||
translate([-25 + CameraSledBolexOffsetX, CameraSledBolexBoltOffsetY + CameraSledBolexBoltSpacingY, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 1]) {
|
||||
cy(5.1, 25, 40, Y = 90);
|
||||
translate([-27 , 0, 0]) cy(9, 30, 40, Y = 90);
|
||||
translate([-9, 0, 0]) rotate([0, 90, 0]) m5_nut();
|
||||
translate([-9, 0, 11]) cube([5, 7.9, 20], center = true);
|
||||
}
|
||||
translate([25 + CameraSledBolexOffsetX, CameraSledBolexBoltOffsetY, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 1]) {
|
||||
cy(5.1, 25, 40, Y = 90);
|
||||
translate([27 , 0, 0]) cy(9, 30, 40, Y = 90);
|
||||
translate([9, 0, 0]) rotate([0, 90, 0]) m5_nut();
|
||||
translate([9, 0, 11]) cube([5, 7.9, 20], center = true);
|
||||
}
|
||||
translate([25 + CameraSledBolexOffsetX, CameraSledBolexBoltOffsetY + CameraSledBolexBoltSpacingY, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 1]) {
|
||||
cy(5.1, 25, 40, Y = 90);
|
||||
translate([27 , 0, 0]) cy(9, 30, 40, Y = 90);
|
||||
translate([9, 0, 0]) rotate([0, 90, 0]) m5_nut();
|
||||
translate([9, 0, 11]) cube([5, 7.9, 20], center = true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -202,7 +226,7 @@ module debug () {
|
|||
translate([-A2 / 2, -C2 / 2, 90]) cylinder(r = R(5), h = 80, center = true, $fn = 30);
|
||||
}
|
||||
|
||||
PART = "jk_camera_sled_nut";
|
||||
PART = "jk_camera_sled_bolex";
|
||||
|
||||
if (PART == "jk_camera_sled_bolex") {
|
||||
jk_camera_sled_bolex();
|
||||
|
|
|
@ -29,13 +29,19 @@ CameraBoltX = 75;
|
|||
CameraBoltY = 80;
|
||||
|
||||
CameraSledBolexZ = 33;
|
||||
CameraSledBolexX = 100;
|
||||
CameraSledBolexX = 120;
|
||||
CameraSledBolexY = 110;
|
||||
|
||||
CameraSledBolexOffsetX = 13.5;
|
||||
CameraSledBolexBoltOffsetY = -33;
|
||||
CameraSledBolexBoltSpacingY = 52;
|
||||
|
||||
CameraSledBolexPlateX = 60;
|
||||
CameraSledBolexPlateY = 90;
|
||||
CameraSledBolexPlateZ = 15;
|
||||
|
||||
CameraSledBolexPlateOffsetY = 0;
|
||||
|
||||
CameraSledArriSZ = 33 + 52;
|
||||
CameraSledArriSX = 100;
|
||||
CameraSledArriSY = 110;
|
||||
|
@ -561,7 +567,7 @@ module camera_sled_bolex (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
|||
|
||||
translate(pos) rotate(rot) {
|
||||
difference () {
|
||||
rounded_cube([X, Y, Z], d = 10, center = true, $fn = 40);
|
||||
translate([CameraSledBolexOffsetX, 0, 0]) rounded_cube([X, Y, Z], d = 10, center = true, $fn = 40);
|
||||
translate([0, 0, -20]) rounded_cube([CameraBoltX - 10, CameraBoltY - 10, Z], d = 10, center = true, $fn = 40);
|
||||
|
||||
m5_bolt_void([CameraBoltX / 2, CameraBoltY / 2, -10], BoltH = Z * 2, CapH = Z);
|
||||
|
@ -578,15 +584,34 @@ module camera_sled_bolex (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
|||
|
||||
|
||||
//void for plate
|
||||
camera_sled_bolex_plate_blank([0, -(PlateY / 2), (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2)], PadX = 0.4, PadY = PlateY, PadZ = 0.1);
|
||||
translate([-33, -22, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 1]) rotate([0, 90, 0]) m5_nut();
|
||||
translate([-33, -22, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 11]) cube([5, 7.9, 20], center = true);
|
||||
|
||||
//m5 bolt
|
||||
translate([-25, -22, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 1]) cy(5.1, 25, 40, Y = 90);
|
||||
translate([-25 - 27, -22, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 1]) cy(9, 30, 40, Y = 90);
|
||||
}
|
||||
camera_sled_bolex_plate_blank([CameraSledBolexOffsetX, -(PlateY / 2), (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2)], PadX = 0.4, PadY = PlateY, PadZ = 0.1);
|
||||
|
||||
//m5 bolt sides
|
||||
translate([-25 + CameraSledBolexOffsetX, CameraSledBolexBoltOffsetY, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 1]) {
|
||||
cy(5.1, 25, 40, Y = 90);
|
||||
translate([-27 , 0, 0]) cy(9, 30, 40, Y = 90);
|
||||
translate([-9, 0, 0]) rotate([0, 90, 0]) m5_nut();
|
||||
translate([-9, 0, 11]) cube([5, 7.9, 20], center = true);
|
||||
}
|
||||
translate([-25 + CameraSledBolexOffsetX, CameraSledBolexBoltOffsetY + CameraSledBolexBoltSpacingY, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 1]) {
|
||||
cy(5.1, 25, 40, Y = 90);
|
||||
translate([-27 , 0, 0]) cy(9, 30, 40, Y = 90);
|
||||
translate([-9, 0, 0]) rotate([0, 90, 0]) m5_nut();
|
||||
translate([-9, 0, 11]) cube([5, 7.9, 20], center = true);
|
||||
}
|
||||
translate([25 + CameraSledBolexOffsetX, CameraSledBolexBoltOffsetY, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 1]) {
|
||||
cy(5.1, 25, 40, Y = 90);
|
||||
translate([27 , 0, 0]) cy(9, 30, 40, Y = 90);
|
||||
translate([9, 0, 0]) rotate([0, 90, 0]) m5_nut();
|
||||
translate([9, 0, 11]) cube([5, 7.9, 20], center = true);
|
||||
}
|
||||
translate([25 + CameraSledBolexOffsetX, CameraSledBolexBoltOffsetY + CameraSledBolexBoltSpacingY, (CameraSledBolexZ / 2) - (CameraSledBolexPlateZ / 2) + 1]) {
|
||||
cy(5.1, 25, 40, Y = 90);
|
||||
translate([27 , 0, 0]) cy(9, 30, 40, Y = 90);
|
||||
translate([9, 0, 0]) rotate([0, 90, 0]) m5_nut();
|
||||
translate([9, 0, 11]) cube([5, 7.9, 20], center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -652,7 +677,7 @@ module camera_sled_bolex_plate (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
|||
Z = CameraSledBolexZ;
|
||||
X = CameraSledBolexX;
|
||||
Y = CameraSledBolexY;
|
||||
CameraBoltLen = 20;
|
||||
CameraBoltLen = 18;
|
||||
CameraBolts = ["3/8", "1/4", "3/8"];
|
||||
CameraBoltsY = [ -5.2, -27.35, -55.8 ];
|
||||
CameraBoltsX = [0, 0, 6.8 ];
|
||||
|
@ -667,9 +692,27 @@ module camera_sled_bolex_plate (pos = [0, 0, 0], rot = [0, 0, 0]) {
|
|||
}
|
||||
}
|
||||
//m5 nut drop in
|
||||
translate([-18, -22, 10]) rotate([0, 90, 0]) m5_nut();
|
||||
translate([-18, -22, 20]) cube([5, 7.9, 20], center = true);
|
||||
translate([-25, -22, 10]) cy(5.1, 25, 40, Y = 90);
|
||||
translate([-20, CameraSledBolexBoltOffsetY, 10]) {
|
||||
rotate([0, 90, 0]) m5_nut();
|
||||
translate([0, 0, 10]) cube([5, 7.9, 20], center = true);
|
||||
translate([-7, 0, 0]) cy(5.1, 25, 40, Y = 90);
|
||||
}
|
||||
translate([-20, CameraSledBolexBoltOffsetY + CameraSledBolexBoltSpacingY, 10]) {
|
||||
rotate([0, 90, 0]) m5_nut();
|
||||
translate([0, 0, 10]) cube([5, 7.9, 20], center = true);
|
||||
translate([-7, 0, 0]) cy(5.1, 25, 40, Y = 90);
|
||||
}
|
||||
|
||||
translate([20, CameraSledBolexBoltOffsetY, 10]) {
|
||||
rotate([0, 90, 0]) m5_nut();
|
||||
translate([0, 0, 10]) cube([5, 7.9, 20], center = true);
|
||||
translate([7, 0, 0]) cy(5.1, 25, 40, Y = 90);
|
||||
}
|
||||
translate([20, CameraSledBolexBoltOffsetY + CameraSledBolexBoltSpacingY, 10]) {
|
||||
rotate([0, 90, 0]) m5_nut();
|
||||
translate([0, 0, 10]) cube([5, 7.9, 20], center = true);
|
||||
translate([7, 0, 0]) cy(5.1, 25, 40, Y = 90);
|
||||
}
|
||||
|
||||
//lines
|
||||
camera_bolex_plate_lines_y(Z / 2);
|
||||
|
@ -1082,8 +1125,9 @@ module debug () {
|
|||
|
||||
camera_sled_bolex([0, -90, 54]);
|
||||
//camera_sled_arris([0, -90, 54 + 26]);
|
||||
color("red") camera_sled_bolex_plate([13.5, -91, 55]);
|
||||
|
||||
debug_bolex([0, -90, 70.75]);
|
||||
debug_bolex([13.5, -90, 70.75]);
|
||||
//debug_arris([0, -91, 70.75 + 51.75]);
|
||||
|
||||
//color("green") translate([(LensFrameSpacingX / 2) + 15, -20, 50]) rotate([0, 0, 0]) linear_extrude(height=200) 2020_profile();
|
||||
|
@ -1171,7 +1215,7 @@ module debug2 () {
|
|||
}
|
||||
|
||||
|
||||
PART = "camera_sled_arris_platex";
|
||||
PART = "camera_sled_bolex_plate";
|
||||
|
||||
if (PART == "rail_end") {
|
||||
rail_end(Projector = true);
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Subproject commit dbb3eca85a46c0474c7e68e7febf43db508b53a8
|
|
@ -7,11 +7,11 @@ listParts () {
|
|||
allParts () {
|
||||
PARTS=($(listParts "scad/${1}.scad"))
|
||||
for part in "${PARTS[@]}"; do
|
||||
bash ./scripts/openscadPart.sh "${1}.scad" "${part}" "${1}_${part}.stl"
|
||||
bash ./scripts/openscadPart.sh "scad/${1}.scad" "${part}" "stl/${1}_${part}.stl"
|
||||
done
|
||||
}
|
||||
|
||||
parallelParts () {
|
||||
PARTS=($(listParts "scad/${1}.scad"))
|
||||
parallel --jobs 8 bash ./scripts/openscadPart.sh "${1}.scad" "{}" "${1}_{}.stl" ::: "${PARTS[@]}"
|
||||
parallel --jobs 8 bash ./scripts/openscadPart.sh "scad/${1}.scad" "{}" "${1}_{}.stl" ::: "${PARTS[@]}"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
openscad --export-format=asciistl --enable manifold -o "./stl/${3}" -D"PART=\"${2}\"" "./scad/${1}"
|
||||
openscad --export-format=asciistl --enable manifold -o "./stl/${3}" -D"PART=\"${2}\"" "./${1}"
|
||||
echo "Compiled ${3} from ${1}"
|
||||
if [ -f "./scad/common/c14n_stl.py" ]; then
|
||||
python3 ./scad/common/c14n_stl.py "./stl/${3}"
|
||||
|
|
|
@ -13,26 +13,15 @@ FILES=(
|
|||
projector_controller
|
||||
)
|
||||
|
||||
PARALLEL=0
|
||||
HAS_PARALLEL=$(which parallel)
|
||||
if [[ "${HAS_PARALLEL}" != "" ]]; then
|
||||
PARALLEL=1
|
||||
fi
|
||||
|
||||
if [[ "${1}" == "all" ]]; then
|
||||
for file in "${FILES[@]}"; do
|
||||
allParts "${file}"
|
||||
bash scad/common/scad.sh "./scad/${file}.scad" "${2}"
|
||||
bash scripts/bom.sh "./scad/${file}.scad"
|
||||
done
|
||||
else
|
||||
if [ -f "scad/${1}.scad" ]; then
|
||||
if [ ${PARALLEL} -eq 1 ]; then
|
||||
parallelParts "${1}"
|
||||
bash scripts/bom.sh "./scad/${1}.scad"
|
||||
else
|
||||
allParts "${1}"
|
||||
bash scripts/bom.sh "./scad/${1}.scad"
|
||||
fi
|
||||
bash scad/common/scad.sh "./scad/${1}.scad" "${2}"
|
||||
bash scripts/bom.sh "./scad/${1}.scad"
|
||||
elif [[ "${1}" != "" ]]; then
|
||||
echo "File scad/${1}.scad not found"
|
||||
exit 2
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -13138,17 +13138,10 @@ solid OpenSCAD_Model
|
|||
vertex 4.6915197 0.7430637 4.4181356
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.99691737 -0.078458935 0
|
||||
facet normal -0.99691737 -0.078458935 -7.538855e-9
|
||||
outer loop
|
||||
vertex 4.6915197 0.7430637 1.5
|
||||
vertex 4.75 0 1.5
|
||||
vertex 4.75 0 4.4253755
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.99691737 -0.07845898 -1.1285662e-8
|
||||
outer loop
|
||||
vertex 4.6915197 0.7430637 1.5
|
||||
vertex 4.75 0 4.4253755
|
||||
vertex 4.711031 0.4951493 4.439835
|
||||
endloop
|
||||
endfacet
|
||||
|
@ -13187,10 +13180,24 @@ solid OpenSCAD_Model
|
|||
vertex 4.75 0 4.4253755
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.74258214 0.03891691 0.6686234
|
||||
facet normal -0.99691737 -0.07845898 0
|
||||
outer loop
|
||||
vertex 4.711031 0.4951493 4.439835
|
||||
vertex 4.75 0 1.5
|
||||
vertex 4.75 0 4.4253755
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.7425821 0.038916904 0.66862345
|
||||
outer loop
|
||||
vertex 4.711031 0.4951493 4.439835
|
||||
vertex 4.75 0 4.4253755
|
||||
vertex 5.051449 0 4.0905824
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.74258214 0.038916975 0.6686234
|
||||
outer loop
|
||||
vertex 4.711031 0.4951493 4.439835
|
||||
vertex 5.051449 0 4.0905824
|
||||
vertex 5.0237765 0.5280202 4.0905824
|
||||
endloop
|
||||
endfacet
|
||||
|
@ -13222,13 +13229,6 @@ solid OpenSCAD_Model
|
|||
vertex 5.0156226 2.8957713 2.9509382
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.7425821 0.03891697 0.66862345
|
||||
outer loop
|
||||
vertex 4.75 0 4.4253755
|
||||
vertex 5.051449 0 4.0905824
|
||||
vertex 5.0237765 0.5280202 4.0905824
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.77290034 -0.62588215 -0.104386926
|
||||
outer loop
|
||||
vertex 4.770971 -4.295801 -1.016824
|
||||
|
|
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
Loading…
Reference in New Issue