diff options
author | Erich Eckner <git@eckner.net> | 2023-10-17 21:40:43 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2023-10-17 21:59:02 +0200 |
commit | 14cb58de991acf7889fcc8d1ec2af11372cb98bf (patch) | |
tree | 53b6d899f4db11660f3e03d6681a6310922fdeab | |
parent | 626d1b6ea18fdc35e1a8e70d4d2d887a4c18e9d4 (diff) | |
download | Geldkasette-14cb58de991acf7889fcc8d1ec2af11372cb98bf.tar.xz |
immer nur eine Münzsorte drucken
-rw-r--r-- | Geldkasette.scad | 28 | ||||
-rw-r--r-- | Makefile | 8 |
2 files changed, 17 insertions, 19 deletions
diff --git a/Geldkasette.scad b/Geldkasette.scad index ae52b27..8ed2644 100644 --- a/Geldkasette.scad +++ b/Geldkasette.scad @@ -10,21 +10,15 @@ delta = 1.5; l = 50*ds[2]; -function sum(list, m, c=0) = - c <= m ? list[c] + sum(list, m, c+1) : 0; +Muenze = 0; +iMax = floor(l/5/ds[Muenze])-1; -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 +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 @@ -1,6 +1,10 @@ +all: $(foreach i,0 1 2 3 4 5 6 7,Geldkasette-$(i).stl) -%.stl: %.scad - openscad --export-format stl -o $@ $< +clean: + git clean -xdf . + +Geldkasette-%.stl: Geldkasette.scad + openscad -D Muenze=$(lastword $(subst -, ,$(patsubst %.stl,%,$@)))\; --export-format stl -o $@ $< %.gcode: %.stl prusa-slicer -g --load ~/.config/PrusaSlicer/exportedConfig.ini -o $@ $< |