Commit | Line | Data |
---|---|---|
ad8f019d TM |
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 | } |