Compare commits
2 Commits
3e0132f91c
...
7145d81b83
Author | SHA1 | Date |
---|---|---|
|
7145d81b83 | |
|
63577f0492 |
6
build.sh
6
build.sh
|
@ -1,15 +1,17 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
SCAD="./takeup.scad"
|
||||||
PARTS=(
|
PARTS=(
|
||||||
"slip_coupling"
|
"slip_coupling"
|
||||||
"magnetic_coupling"
|
"magnetic_coupling"
|
||||||
"mount_plate"
|
"mount_plate"
|
||||||
|
"daylight_spool_insert"
|
||||||
)
|
)
|
||||||
|
|
||||||
for part in "${PARTS[@]}"
|
for part in "${PARTS[@]}"
|
||||||
do
|
do
|
||||||
stl="./stl/takeup_${part}.stl"
|
stl="./stl/takeup_${part}.stl"
|
||||||
openscad -o "${stl}" -D "PART=\"${part}\";" "./takeup.scad"
|
openscad -o "${stl}" -D "PART=\"${part}\";" "${SCAD}"
|
||||||
done
|
done
|
||||||
|
|
||||||
openscad --preview -o debug.png -D "PART=\"preview\";" "./takeup.scad"
|
openscad --preview -o debug.png -D "PART=\"preview\";" "${SCAD}"
|
|
@ -1,7 +1,7 @@
|
||||||
SQUARE_INNER = 8;
|
SQUARE_INNER = 8;
|
||||||
time = 0;
|
time = 0;
|
||||||
|
|
||||||
module reel_holder (top = true) {
|
module reel_holder (top = true, base = true) {
|
||||||
$fn = 60;
|
$fn = 60;
|
||||||
difference(){
|
difference(){
|
||||||
translate([0, 0, -1.5]) cube([SQUARE_INNER, SQUARE_INNER, 21.5], center= true);
|
translate([0, 0, -1.5]) cube([SQUARE_INNER, SQUARE_INNER, 21.5], center= true);
|
||||||
|
@ -18,14 +18,16 @@ module reel_holder (top = true) {
|
||||||
}
|
}
|
||||||
translate ([0, 0, (18.5 / 2) + 7.5]) cube([10, 10, 2], center = true);
|
translate ([0, 0, (18.5 / 2) + 7.5]) cube([10, 10, 2], center = true);
|
||||||
}
|
}
|
||||||
difference () {
|
if (base) {
|
||||||
translate([0, 0, -(18.5/ 2) - (3 / 2) - 3]) cylinder(r = 16 /2, h = 3, center = true);
|
difference () {
|
||||||
//translate([0, 0, -14.3]) cube([4, 4, 2], center = true); //notch
|
translate([0, 0, -(18.5/ 2) - (3 / 2) - 3]) cylinder(r = 16 /2, h = 3, center = true);
|
||||||
difference() {
|
//translate([0, 0, -14.3]) cube([4, 4, 2], center = true); //notch
|
||||||
translate([0, 0, -14.3]) cylinder(r = 8 / 2, h = 2, center = true);
|
difference() {
|
||||||
translate([0, 6, -14.3]) cube([8, 8, 2], center = true);
|
translate([0, 0, -14.3]) cylinder(r = 8 / 2, h = 2, center = true);
|
||||||
}
|
translate([0, 6, -14.3]) cube([8, 8, 2], center = true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//rotate([0, 0, time]) reel_holder();
|
//rotate([0, 0, time]) reel_holder();
|
BIN
debug.png
BIN
debug.png
Binary file not shown.
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 1.9 KiB |
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
56
takeup.scad
56
takeup.scad
|
@ -2,7 +2,7 @@ include <daylight_spool_mount.scad>;
|
||||||
|
|
||||||
COUPLING_D = 37;
|
COUPLING_D = 37;
|
||||||
|
|
||||||
WASHER_D = 35.;
|
WASHER_D = 35.7;
|
||||||
WASHER_H = 2.4;
|
WASHER_H = 2.4;
|
||||||
|
|
||||||
MOTOR_SHAFT_D = 6;
|
MOTOR_SHAFT_D = 6;
|
||||||
|
@ -12,6 +12,10 @@ MOTOR_SHAFT_HOBBLE = 1;
|
||||||
MOTOR_MOUNT_X = 32.5;
|
MOTOR_MOUNT_X = 32.5;
|
||||||
MOTOR_MOUNT_Y = 17.5;
|
MOTOR_MOUNT_Y = 17.5;
|
||||||
|
|
||||||
|
module hex (diag = 10, h = 1) {
|
||||||
|
cylinder(r = diag / 2, h = h, center = true, $fn = 6);
|
||||||
|
}
|
||||||
|
|
||||||
//Geartisan Worm Gear Motor - JSX40-370
|
//Geartisan Worm Gear Motor - JSX40-370
|
||||||
module motor () {
|
module motor () {
|
||||||
cube([46, 32, 21], center = true);
|
cube([46, 32, 21], center = true);
|
||||||
|
@ -66,13 +70,43 @@ module magnetic_coupling (MAGNETS = 4, MAGNET_D = 8.1, MAGNET_H = 2.5) {
|
||||||
}
|
}
|
||||||
|
|
||||||
module slip_coupling (MAGNET_H = 2.5) {
|
module slip_coupling (MAGNET_H = 2.5) {
|
||||||
H = 12;
|
H = 16;
|
||||||
difference () {
|
difference () {
|
||||||
cylinder(r = 45 / 2, h = H, center = true, $fn = 100);
|
translate([0, 0, 2]) cylinder(r = 45 / 2, h = H, center = true, $fn = 100);
|
||||||
translate([0, 0, -(H / 2) + (MAGNET_H + 3) / 2]) cylinder(r = (COUPLING_D + 0.7) / 2, h = MAGNET_H + 3.01, center = true, $fn = 160);
|
translate([0, 0, 2 -(H / 2) + (MAGNET_H + 3) / 2]) cylinder(r = (COUPLING_D + 0.7) / 2, h = MAGNET_H + 3.01, center = true, $fn = 160);
|
||||||
translate([0, 0, -(H / 2) + (MAGNET_H + 3) + (WASHER_H / 2)]) cylinder(r = WASHER_D / 2, h = WASHER_H, center = true, $fn = 160);
|
translate([0, 0, 2 -(H / 2) + (MAGNET_H + 3) + (WASHER_H / 2)]) cylinder(r = WASHER_D / 2, h = WASHER_H, center = true, $fn = 160);
|
||||||
|
translate([0, 0, 2 + (H / 2) - (5 / 2)]) cube([25, 10, 5.01], center = true);
|
||||||
|
translate([0, 0, 2 + (H / 2) - (5 / 2)]) cube([10, 25, 5.01], center = true);
|
||||||
|
//corners with voids for M3
|
||||||
|
translate([-8.75, -8.75, 2 + (H / 2) - (5 / 2)]) {
|
||||||
|
translate([0, 0, 1]) cube([(25 - 10) / 2, (25 - 10) / 2, 5.01], center = true);
|
||||||
|
cylinder(r = 3.25 / 2, h = 20, center = true, $fn = 40);
|
||||||
|
translate([0, 0, -4.25]) hex(6, 2.75);
|
||||||
|
}
|
||||||
|
translate([8.75, 8.75, 2 + (H / 2) - (5 / 2)]) {
|
||||||
|
translate([0, 0, 1]) cube([(25 - 10) / 2, (25 - 10) / 2, 5.01], center = true);
|
||||||
|
cylinder(r = 3.25 / 2, h = 20, center = true, $fn = 40);
|
||||||
|
translate([0, 0, -4.25]) hex(6, 2.75);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module daylight_spool_insert () {
|
||||||
|
translate([0, 0, 14]) reel_holder(true, false);
|
||||||
|
union () {
|
||||||
|
cube([25 - .4, 10 - .4, 5], center = true);
|
||||||
|
cube([10 - .4, 25 - .4, 5], center = true);
|
||||||
|
translate([-8.75, -8.75, 0]) difference () {
|
||||||
|
translate([.2, .2, 1/2]) cube([(25 - 10) / 2, (25 - 10) / 2, 4], center = true);
|
||||||
|
cylinder(r = 3.25 / 2, h = 20, center = true, $fn = 40);
|
||||||
|
translate([0, 0, 2]) cylinder(r = 5.75 / 2, h = 3.5, center = true, $fn = 40);
|
||||||
|
}
|
||||||
|
translate([8.75, 8.75, 0]) difference () {
|
||||||
|
translate([ -.2, -.2, 1/2]) cube([(25 - 10) / 2, (25 - 10) / 2, 4], center = true);
|
||||||
|
cylinder(r = 3.25 / 2, h = 20, center = true, $fn = 40);
|
||||||
|
translate([0, 0, 2]) cylinder(r = 5.75 / 2, h = 3.5, center = true, $fn = 40);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
translate([0, 0, 18.25]) reel_holder();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module motor_mount_void (D, Z) {
|
module motor_mount_void (D, Z) {
|
||||||
|
@ -123,9 +157,13 @@ module mount_plate () {
|
||||||
|
|
||||||
module debug_assembled () {
|
module debug_assembled () {
|
||||||
translate([(46 / 2) - 14.5, 0, 0]) rotate([180, 0, 0]) motor();
|
translate([(46 / 2) - 14.5, 0, 0]) rotate([180, 0, 0]) motor();
|
||||||
color("blue") translate([0, 0, 23]) rotate([0, 0, -90]) magnetic_coupling();
|
|
||||||
color("green") translate([8, 0, 11]) mount_plate();
|
color("green") translate([8, 0, 11]) mount_plate();
|
||||||
translate([0, 0, 26.5]) slip_coupling();
|
color("blue") translate([0, 0, 23]) rotate([0, 0, -90]) magnetic_coupling();
|
||||||
|
difference () {
|
||||||
|
translate([0, 0, 26.5]) slip_coupling();
|
||||||
|
translate([-50, 0, 0]) cube([100, 100, 150], center = true);
|
||||||
|
}
|
||||||
|
color("red") translate([0, 0, 34]) daylight_spool_insert();
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -138,6 +176,8 @@ if (PART == "slip_coupling") {
|
||||||
magnetic_coupling();
|
magnetic_coupling();
|
||||||
} else if (PART == "mount_plate") {
|
} else if (PART == "mount_plate") {
|
||||||
mount_plate();
|
mount_plate();
|
||||||
|
} else if (PART == "daylight_spool_insert") {
|
||||||
|
daylight_spool_insert();
|
||||||
} else if (PART == "debug") {
|
} else if (PART == "debug") {
|
||||||
debug_assembled();
|
debug_assembled();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue