// Inspiration https://www.etsy.com/listing/721367427/ // The original board is 220x160 thickness=5; round_radius=3; width=220; // X width height=160; // Y width color_thickness=1; // Thickness of color layer overlay_thickness=1; // thickness above color layer of overlay // Round shape detail $fn=260; module base(thickness) { // Main corpus translate([round_radius,round_radius,0]) cube([width-round_radius*2,height-round_radius*2, thickness]); // x-axis (y=0) underskirt translate([round_radius, 0, 0]) cube([width-round_radius*2, round_radius, thickness]); // 0,0,0 corner underskirt translate([round_radius, round_radius,0]) cylinder(thickness, round_radius, round_radius); // y-axis (x=0) underskirt translate([0, round_radius, 0]) cube([round_radius, height-round_radius*2, thickness]); // 0,y,0 corner underskirt translate([round_radius, height-round_radius, 0]) cylinder(thickness, round_radius, round_radius); //x-axis (y=width) underskirt translate([round_radius, height-round_radius, 0]) cube([width-round_radius*2, round_radius, thickness]); // x,y,0 corner underskirt translate([width-round_radius, height-round_radius, 0]) cylinder(thickness, round_radius, round_radius); // y-axis (x=height) underskirt translate([width-round_radius, round_radius, 0]) cube([round_radius, height-round_radius*2, thickness]); // x,0,0 corner underskirt translate([width-round_radius, round_radius, 0]) cylinder(thickness, round_radius, round_radius); } *color("red") base(color_thickness); color("#444444") translate([0,0,color_thickness]) difference() { base(overlay_thickness); translate([20,20,-4])linear_extrude(height=20, convexity=20) text("H"); }