diff options
author | Erich Eckner <git@eckner.net> | 2023-10-17 18:17:16 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2023-10-17 18:17:16 +0200 |
commit | 0e8cafce471ab77a6ab5b08692e40da5b501d56d (patch) | |
tree | 9f371099c0554683276dc1556cc9c7d573aedb78 | |
download | Geldkasette-0e8cafce471ab77a6ab5b08692e40da5b501d56d.tar.xz |
initial commit
-rw-r--r-- | Geldkasette.scad | 30 |
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 |