/* [Plate and Holes] */ plate_thickness = 4; // [1:0.1:10] hole_diameter = 6; // [2:0.1:12] /* [Appearance] */ bracket_color = "SteelBlue"; // /* [Hidden] */ $fn = 96; // Millimeters. Outer corner is [0,0,0]. // Fixed outer envelope: X=60, Y=40, Z=40. // Hole centers are fixed to outer datum faces, independent of thickness. // Installed orientation: base on XY plane. // For side printing, rotate 90 degrees about X so the XZ profile lies on the bed. module bracket_plates() { union() { cube([60, 40, plate_thickness]); cube([plate_thickness, 40, 40]); } } module mounting_holes() { for (hole_center_y = [10, 30]) { // Base holes: axes parallel to Z, X=40. translate([40, hole_center_y, -1]) cylinder(h=plate_thickness + 2, d=hole_diameter); // Upright holes: axes parallel to X, Z=25. translate([-1, hole_center_y, 25]) rotate([0, 90, 0]) cylinder(h=plate_thickness + 2, d=hole_diameter); } } module l_bracket() { difference() { bracket_plates(); mounting_holes(); } } color(bracket_color) l_bracket();