First tests
This commit is contained in:
parent
93c988805c
commit
fec84ec68d
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "common"]
|
||||||
|
path = common
|
||||||
|
url = https://git.sixteenmillimeter.com/modules/common.git
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit b499c2810117b5ca57014d5cb4219cf68b4c5c0f
|
|
@ -0,0 +1,86 @@
|
||||||
|
include <./common/common.scad>;
|
||||||
|
include <./common/threads.scad>;
|
||||||
|
|
||||||
|
Core16mm = 25.5;
|
||||||
|
PlatterThickness = 1.6;
|
||||||
|
Platter120m = 178;
|
||||||
|
|
||||||
|
module thread_16mm ( pos = [0, 0, 0], length = 11, pad = 0) {
|
||||||
|
translate(pos) {
|
||||||
|
metric_thread (diameter=18.5, pitch=1.5, length=length, internal=false, n_starts=1, thread_size=-1, groove=false, square=false, rectangle=0, angle=30, taper=0, leadin=0, leadfac=1.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module threaded_core (pos = [0, 0, 0], format = "16mm") {
|
||||||
|
$fn = 120;
|
||||||
|
translate (pos) {
|
||||||
|
if (format == "16mm") {
|
||||||
|
union () {
|
||||||
|
cylinder(r = R(Core16mm), h = 6, center = true);
|
||||||
|
thread_16mm([0, 0, 6 / 2], length = 11);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module socket_core (pos = [0, 0, 0], format = "16mm") {
|
||||||
|
$fn = 120;
|
||||||
|
translate (pos) {
|
||||||
|
if (format == "16mm") {
|
||||||
|
difference () {
|
||||||
|
cylinder(r = R(Core16mm), h = 11, center = true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module platter (pos = [0, 0, 0], length = 120) {
|
||||||
|
if (length == 120) {
|
||||||
|
difference () {
|
||||||
|
cylinder(r = R(Platter120m), h = PlatterThickness, center = true, $fn = 300);
|
||||||
|
for (i = [0 : 3]) {
|
||||||
|
rotate([0, 0, i * 90]) translate([105 / 2, 0, 0]) cylinder(r = R(44.5), h = PlatterThickness + 1, center = true, $fn = 100);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//length in meters
|
||||||
|
module split_reel (format = "16mm", length = 120, half = "A") {
|
||||||
|
|
||||||
|
if (half == "A") {
|
||||||
|
difference () {
|
||||||
|
union () {
|
||||||
|
platter([0, 0, 0], length = length);
|
||||||
|
threaded_core([0, 0, (PlatterThickness / 2) + (6 / 2)], format = "16mm");
|
||||||
|
}
|
||||||
|
if (format == "16mm") {
|
||||||
|
cube([8.5, 8.5, 50], center = true);
|
||||||
|
rotate([0, 0, 45]) translate([5.5, 0, 0]) cube([3, 3, 50], center = true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (half == "B") {
|
||||||
|
difference () {
|
||||||
|
union () {
|
||||||
|
platter([0, 0, 0], length = length);
|
||||||
|
socket_core([0, 0, (PlatterThickness / 2) + (11 / 2)], format = "16mm");
|
||||||
|
}
|
||||||
|
thread_16mm([0, 0, -1], 15);
|
||||||
|
thread_16mm([0, 0, -1.1], 15);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PART = "split_reel_16mm_120m_B";
|
||||||
|
|
||||||
|
if (PART == "split_reel_16mm_120m_A") {
|
||||||
|
intersection () {
|
||||||
|
split_reel("16mm", 120, "A");
|
||||||
|
cube([30, 30, 30], center = true);
|
||||||
|
}
|
||||||
|
} else if (PART == "split_reel_16mm_120m_B") {
|
||||||
|
intersection () {
|
||||||
|
split_reel("16mm", 120, "B");
|
||||||
|
cube([30, 30, 30], center = true);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue