$fn = 50; module holeRad() { cylinder(r=2,h=3); } module mountSDS() { union() { difference() { cylinder(r=5/2,h=20); translate([0,0,-0.5]) cylinder(r=1.4,h=20+1); } cylinder(r1=4.6,r2=5/2,h=3); } } module holesRad() { translate([0,0,-0.5]) holeRad(); translate([101.6,0,-0.5]) holeRad(); translate([0,56,-0.5]) holeRad(); translate([101.6,56,-0.5]) holeRad(); } module standsSDS() { translate([5,70-11,0]) mountSDS(); translate([5+60,70-11,0]) mountSDS(); translate([5+41,70-(11+55),0]) mountSDS(); %translate([5+41+3,0,15]) cube([20,7,5]); } module mountPCB() { difference() { union() { cube([5,45,8.6]); translate([50,0,0]) cube([5,45,8.6]); } translate([2.5,2.5,5]) cube([50,42.5,2]); translate([45,14,0]) cube([15,25,10]); } } difference() { cube([130,75,1.8]); translate([7,10,0]) holesRad(); translate([20,5,-0.5]) cube([26,12,3]); } translate([56,72.5,1.4]) rotate(-90) standsSDS(); translate([5,15,1.0]) mountPCB();