// -*- C -*- holespc = 20; len = 50; width = 20; backspc = 10; light_height = 12.5; hole_from_back = 7.2 + 0.5; hole_dia = 3.5 + 0.5; bolthead_dia = 7 + 1.0; bolthead_depth = 5; height = light_height + backspc; octagon_fudge = 1/cos(22.5); module Bracket(){ difference(){ translate([-len/2, 0,0]) cube([len, width, height]); for (xsgn=[-1,+1]) { translate([xsgn * holespc/2, -1, light_height - hole_from_back]) { rotate([-90,0,0]) { rotate([0,0,360/8/2]) { cylinder(r=bolthead_dia/2 * octagon_fudge, h= bolthead_depth +1, $fn=8); cylinder(r=hole_dia/2 * octagon_fudge, h=50, $fn=8); } } } } } } Bracket();