width = 50; // the x size of the logo length = 40.572; // the y size of the logo logodepth = 2; // how far in the z direction you want the logo extruded backdepth = 1; // thinckness of the back of the key fob padding = 3; // how far from the edge you want the logo holewidth = 10; // the size of the ring attachment on the top color("green") translate(v = [0, 0, backdepth]) linear_extrude(height = logodepth) import(file = "logo.DXF"); // importing and extruding the logo minkowski() // this is a transformation that adds a second shape (the cylinder) around the outside of the first shape (the cube) { cube([width, length, backdepth/2]); // a cube to go behind the logo cylinder(r=padding, h=backdepth/2); // rounding the corners of the cube } difference() { translate(v = [width/2, length+padding, 0]) cylinder(h = backdepth, r = holewidth/2); // the outside of the key ring attachment translate(v = [width/2, length+padding, -1]) cylinder(h = backdepth+logodepth+2, r = holewidth/2-2); // cut out the inside of the key ring attachement cube([width, length, backdepth+logodepth+2]); // cut out so that we don't overlap with the logo }