--- /dev/null
+module planter_cavity() {
+ translate([0,0,15]) cylinder(d1=70, d2=80, h=83, $fn=18);
+}
+
+module planter() {
+
+difference() {
+translate([0,0,15]) for (h = [0 : 1 : 2] ){
+translate([0,0,h*31])
+for (r = [0 : 40 : 360] ){
+ rotate([90,90,r+20*(h%2)])
+ difference() {
+ translate([0,0,25]) hull() {
+ cylinder(d=35, h=25, $fn=6);
+ rotate([0,0,45]) cylinder(d=60, h=12, $fn=4);
+ }
+ translate([0,0,70]) sphere(d=50, $fn=6);
+ }
+}
+}
+
+translate([0,0,-50]) cylinder(d=140, h=50);
+translate([0,0,2.5*31+15]) cylinder(d=140, h=50);
+planter_cavity();
+}
+cylinder(d=90, h=15.1);
+
+}
+
+module planter_mold(half=0) {
+difference() {
+ union() {
+ //translate([0,0,0.1]) cylinder(d=110, h=100);
+ translate([0,0,90]) cylinder(d=108, h=7);
+ minkowski() {
+ rotate([0,0,90]) planter();
+ translate([0,0,0.001]) cylinder(r=2, h=0.01);
+ }
+ translate([-60,0,48.5]) cube([3,7,97], center=true);
+ translate([ 60,0,48.5]) cube([3,7,97], center=true);
+ translate([ 0,0,48.5]) cube([120,4,97], center=true);
+ }
+ rotate([0,0,90]) planter();
+ rotate([0,0,90]) planter_cavity();
+ if(half == 1) translate([-100,0,0]) cube(200);
+ if(half == 2) translate([-100,-200,0]) cube(200);
+}
+}
+
+planter_cavity();
+rotate([180,0,0]) {
+ translate([0,-12,0]) planter_mold(half=1);
+ translate([0,12,0]) planter_mold(half=2);
+}
\ No newline at end of file