/* Hexagonal soldering rack for LEDs (c) 2021 Christian Grieger GNU GENERAL PUBLIC LICENSE */ COL = 3; // amount of rows TL = 0.25; // (mm) Hole tolerance DS = 2.5; // (mm) Distance between LEDs DIA = 5.0; // (mm) Diameter of the LEDs difference() { hull() { for(i=[0:COL-1]) { y = (sqrt(3)*i*(DIA+DS+1))/2.0; for(j=[0:(2*COL-2-i)]) { x = (-(2*COL-i-2)*(DIA+DS+1))/2.0 + j*(DIA+DS+1); translate([x, y, -1]) { cylinder(d=DIA+TL, h=2); } if (y!=0) { translate([x, -y, -1]) { cylinder(d=DIA+TL, h=2); } } } } } for(i=[0:COL-1]) { y = (sqrt(3)*i*(DIA+DS))/2.0; for(j=[0:(2*COL-2-i)]) { x = (-(2*COL-i-2)*(DIA+DS))/2.0 + j*(DIA+DS); translate([x, y, -5]) { cylinder(d=DIA+TL, h=10, $fn=40); } if (y!=0) { translate([x, -y, -5]) { cylinder(d=DIA+TL, h=10, $fn=40); } } } } }