d1 = 5.5; d2 = 8.7; d3 = 8.6; module hexagon(d, h) { w = d/1.75; translate([0, 0, h/2]) { for (r = [-60, 0, 60]) { rotate([0,0,r]) cube([w, d, h], true); } } } module aeronaut(d1, d2) { $fs = 0.1; difference() { cylinder(d=d2, h=3); translate([0, 0, -0.1]) cylinder(d=d1, h=4); } } module gws(d1, d2) { $fs = 0.1; difference() { hexagon(d=d2, h=2); translate([0, 0, -0.1]) cylinder(d=d1, h=4); } } module aeronaut_grid() { for (e1 = [0.3:0.1:0.5]) { for (e2 = [-0.3:0.1:0]) { translate([e1*10*12, e2*10*12, 0]) { aeronaut(d1+e1, d2+e2); } } } } module gws_grid() { d2 = 7; for (e1 = [0.3:0.1:0.5]) { for (e2 = [-0.1:0.1:0.15]) { translate([e1*10*12, e2*10*12, 0]) { gws(d1+e1, d2+e2); } } } } gws_grid();