include // Parameter for console overwrite b = 58; t = 14; h = 88; name = "Cards"; module cardHolder(b,t,h,name){ // floor cube([b+4,t+4,1],false); // left translate([0,0,1]){ cuboid([1,t+4,h+3], anchor=[-1,-1,-1], rounding=min(10,t+4), edges=FRONT+TOP); } // right translate([b+3,0,1]){ cuboid([1,t+4,h+3], anchor=[-1,-1,-1], rounding=min(10,t+4), edges=FRONT+TOP); } // back translate([1,t+3,1]){ cuboid([10,1,h+3], anchor=[-1,-1,-1], rounding=5, edges=RIGHT+TOP); translate([b-8,0,0]) { cuboid([10,1,h+3], anchor=[-1,-1,-1], rounding=5, edges=LEFT+TOP); } translate([10,0,0]) { difference(){ cube([b-18,1,h+3],false); translate([0,-1,15]) { cuboid([b-18,3,h-12], anchor=[-1,-1,-1], rounding=10, edges=[LEFT+BOTTOM,RIGHT+BOTTOM]); } } } } // front translate([1,0,1]){ difference(){ cuboid([10,1,h-17], anchor=[-1,-1,-1], rounding=5, edges=RIGHT+TOP); translate([7.5,0.4,2.5]){ rotate([0,-90,90]){ linear_extrude(height = 0.6) { text(name, size = 5, font = "Arial:style=Bold"); } } } } translate([b-8,0,0]) { cuboid([10,1,h-17], anchor=[-1,-1,-1], rounding=5, edges=LEFT+TOP); } } } cardHolder(b,t,h,name);