| 1 | module planter_cavity() { |
| 2 | translate([0,0,15]) cylinder(d1=70, d2=80, h=83, $fn=18); |
| 3 | } |
| 4 | |
| 5 | module planter() { |
| 6 | |
| 7 | difference() { |
| 8 | translate([0,0,15]) for (h = [0 : 1 : 2] ){ |
| 9 | translate([0,0,h*31]) |
| 10 | for (r = [0 : 40 : 360] ){ |
| 11 | rotate([90,90,r+20*(h%2)]) |
| 12 | difference() { |
| 13 | translate([0,0,25]) hull() { |
| 14 | cylinder(d=35, h=25, $fn=6); |
| 15 | rotate([0,0,45]) cylinder(d=60, h=12, $fn=4); |
| 16 | } |
| 17 | translate([0,0,70]) sphere(d=50, $fn=6); |
| 18 | } |
| 19 | } |
| 20 | } |
| 21 | |
| 22 | translate([0,0,-50]) cylinder(d=140, h=50); |
| 23 | translate([0,0,2.5*31+15]) cylinder(d=140, h=50); |
| 24 | planter_cavity(); |
| 25 | } |
| 26 | cylinder(d=90, h=15.1); |
| 27 | |
| 28 | } |
| 29 | |
| 30 | module planter_mold(half=0) { |
| 31 | difference() { |
| 32 | union() { |
| 33 | //translate([0,0,0.1]) cylinder(d=110, h=100); |
| 34 | translate([0,0,90]) cylinder(d=108, h=7); |
| 35 | minkowski() { |
| 36 | rotate([0,0,90]) planter(); |
| 37 | translate([0,0,0.001]) cylinder(r=2, h=0.01); |
| 38 | } |
| 39 | translate([-60,0,48.5]) cube([3,7,97], center=true); |
| 40 | translate([ 60,0,48.5]) cube([3,7,97], center=true); |
| 41 | translate([ 0,0,48.5]) cube([120,4,97], center=true); |
| 42 | } |
| 43 | rotate([0,0,90]) planter(); |
| 44 | rotate([0,0,90]) planter_cavity(); |
| 45 | if(half == 1) translate([-100,0,0]) cube(200); |
| 46 | if(half == 2) translate([-100,-200,0]) cube(200); |
| 47 | } |
| 48 | } |
| 49 | |
| 50 | planter_cavity(); |
| 51 | rotate([180,0,0]) { |
| 52 | translate([0,-12,0]) planter_mold(half=1); |
| 53 | translate([0,12,0]) planter_mold(half=2); |
| 54 | } |