// Original CooperLux demonstration. Millimetres. Not yet physically printed. // Flat-backed label with raised text; no laser or AMS is required for one colour. // Example: openscad -D 'label="TOOLS"' -o tools.stl equipment-label.scad label = "COOPERLUX"; length = 110; width = 30; base_thickness = 3; letter_height = 1.2; font_size = 8; hole_diameter = 4; hole_offset = 7; $fn = 48; assert(len(label) >= 1 && len(label) <= 10, "Sample accepts 1-10 characters."); assert(length >= 110 && length <= 200 && width >= 30 && width <= 100); assert(base_thickness >= 2 && letter_height >= 0.8 && font_size > 0 && font_size <= 8); assert(hole_diameter > 0 && hole_diameter < 8 && hole_offset >= 6); assert(hole_offset < length / 4); union() { difference() { cube([length, width, base_thickness]); for (x = [hole_offset, length - hole_offset]) translate([x, width / 2, -0.1]) cylinder(h = base_thickness + 0.2, d = hole_diameter); } translate([length / 2, width / 2, base_thickness - 0.1]) linear_extrude(height = letter_height + 0.1) text(label, size = font_size, font = "DejaVu Sans:style=Bold", halign = "center", valign = "center"); }