//sgn Dec 2021 //IF YOU TRY TO PREVIEW THIS, IT WILL CRASH. //YOU MUST RENDER IT (F6 not F5.) $fn = 32; //#sphere(d = 75); /* difference(){ sphere(d = 75); translate([0,0,-45]) cube([125,125,50], center = true); translate([0,0,-5]) sphere(d = 55); } */ for(m = [0:2]){ rotate([0,0,m*120]) translate([0,20,0]) for(n = [0:1]){ rotate([n*10,0,n*7]) translate([n*12,0,n*-2]) stand(); scale([0.5,0.5,0.5]) rotate([n*25,30,n*17]) translate([n*12+9,-2,n+5]) stand(); } } module stand(){ difference(){ translate([0,0,0]) rotate([0,90,60]) cylinder(d = 100, h =5, center = true, $fn = 3); //cube([100,5,100], center = true); translate([0,0,0]) rotate([0,90,60]) cylinder(d = 80, h = 7, center = true, $fn = 3); } } /* intersection(){ difference(){ for(m = [0:5]){ rotate([0,0,m*60]) translate([0,0,0]) for(n = [0:4]){ rotate([n*-5,0,0]) translate([n*6,n*8.3,0]) hexes(); } } translate([0,0,-45]) cube([125,125,50], center = true); } sphere(d = 75); } */ /* intersection(){ difference(){ union(){ hexes(); mirror([1,0,0]) hexes(); mirror([0,1,0]) hexes(); mirror([1,0,0]) mirror([0,1,0]) hexes(); rotate([0,0,60]) hexes(); rotate([0,0,240]) hexes(); } translate([0,0,-45]) cube([125,125,50], center = true); } sphere(d = 75); } */ module hexes(){ for(j = [0:4]){ rotate([j*-5,0,0]) translate([j*6,j*8.3,0]) for(i = [0:3]){ rotate([0,i*5,0]) translate([i*10,0,0]) linear_extrude(75, center = true, convexity = 10, 100, scale = [2.2,2.2]){ rotate([0,0,30]) difference(){ circle(d = 7.1, $fn = 6); circle(d = 6.3, $fn = 6); } } } } }