| 1 | // quick hack to test ooze with ninjaflex |
| 2 | |
| 3 | // lots of small towerslike in the make magazine tests are doomed with |
| 4 | // ninjaflex, so just use four larger towers |
| 5 | |
| 6 | tower_base_d = 10; |
| 7 | tower_top_d = 2; |
| 8 | |
| 9 | tower_height = 20; |
| 10 | tower_spacing = 15; |
| 11 | |
| 12 | base_height = 0.8; |
| 13 | base_extra_d = 0; |
| 14 | |
| 15 | $fn = 4; |
| 16 | |
| 17 | |
| 18 | module tower () { |
| 19 | cylinder (d1=tower_base_d, d2=tower_top_d, h=tower_height); |
| 20 | } |
| 21 | |
| 22 | module towers () { |
| 23 | spacing = tower_spacing + tower_base_d; |
| 24 | |
| 25 | for (x = [0, spacing], y = [0, spacing]) { |
| 26 | translate ([x, y, 0]) tower (); |
| 27 | } |
| 28 | |
| 29 | translate ([spacing/2, spacing/2, 0]) tower (); |
| 30 | } |
| 31 | |
| 32 | difference () { |
| 33 | linear_extrude (height = base_height) offset (r = base_extra_d/2, chamfer=true) hull () projection () towers (); |
| 34 | translate ([0, 0, 0]) cylinder (d=tower_base_d/2, h=base_height/2); |
| 35 | } |
| 36 | translate ([0, 0, base_height]) towers (); |
| 37 | |
| 38 | |