summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2023-10-17 18:17:16 +0200
committerErich Eckner <git@eckner.net>2023-10-17 18:17:16 +0200
commit0e8cafce471ab77a6ab5b08692e40da5b501d56d (patch)
tree9f371099c0554683276dc1556cc9c7d573aedb78
downloadGeldkasette-0e8cafce471ab77a6ab5b08692e40da5b501d56d.tar.xz
initial commit
-rw-r--r--Geldkasette.scad30
1 files changed, 30 insertions, 0 deletions
diff --git a/Geldkasette.scad b/Geldkasette.scad
new file mode 100644
index 0000000..ae52b27
--- /dev/null
+++ b/Geldkasette.scad
@@ -0,0 +1,30 @@
+rs = [25.75, 23.25, 24.25, 22.25, 19.75, 21.25, 18.75, 16.25]/2;
+ds = [2.20, 2.33, 2.38, 2.14, 1.93, 1.67, 1.67, 1.67];
+
+$fn = 100;
+
+toleranz = 1.02;
+eps = 0.1;
+d = 1.5;
+delta = 1.5;
+
+l = 50*ds[2];
+
+function sum(list, m, c=0) =
+ c <= m ? list[c] + sum(list, m, c+1) : 0;
+
+for (Muenze = [0:7]) {
+
+ iMax = floor(l/5/ds[Muenze])-1;
+
+ translate([2*sum(rs, Muenze-1) + (d+2*delta)*Muenze,0,0])
+ scale(toleranz)
+ difference() {
+ translate([-rs[Muenze]-d-delta,-l/2-d,-rs[2]-d])
+ cube([2*rs[Muenze]+2*d+2*delta,l+2*d,rs[2]+d]);
+ rotate([-90,0,0])
+ for (i = [-iMax/2:iMax/2])
+ translate([(i+iMax/2)%2 == 0 ? -delta : delta, 0, 5*ds[Muenze]*(i-1/2)-eps])
+ cylinder(h = 5 * ds[Muenze] + 2*eps, r = rs[Muenze]);
+ };
+} \ No newline at end of file