include length = 180; width1 = 130; width2 = 100; size = 15; r = 50; h = 13; inset = 1.5; t = 1; side_t = 5; $fn = 360; // diff() linear_extrude(20) round2d(10) trapezoid(length, width1, width2) // attach(BOTTOM) tex_tab = [ "bricks_vnf", "hex_grid", "tri_grid", "trunc_diamonds", "trunc_pyramids_vnf", ]; tex = 1; echo(tex_tab[tex]); diff() { down(h*(inset-1)) textured_tile(tex_tab[tex], [width1,length], tex_reps=[floor(width1/size), floor((length/size) / sqrt(3))], tex_depth = (h*inset) + t); cuboid([width1, length, t]); tag("remove") difference() { cuboid([length*4, width1*4, h*4]); linear_extrude(h*2) round2d(r) trapezoid(length, width1, width2); } difference() { linear_extrude(h+t) round2d(r) trapezoid(length, width1, width2); linear_extrude(h+t) round2d(r) trapezoid(length-side_t, width1-side_t, width2-side_t); } }