tpplug_height = 6.45; tpplug_width = 15.2; tpplug_width_with_noses = 16.3; tpplug_depth = 11.7; nose_depth = 3.1; nose_height = 3.0; nose_width = (tpplug_width_with_noses - tpplug_width) / 2; nose_offset_front = 5 - nose_depth; nose_offset_top = 5.5 - nose_height; module thinkpad_plug() { cube([tpplug_width, tpplug_depth, tpplug_height]); translate([0, 0, 0]) { translate([-nose_width, 0, nose_offset_top]) cube([tpplug_width_with_noses, nose_depth + nose_offset_front, nose_height]); } } difference() { cube([tpplug_width_with_noses + 10, tpplug_depth, tpplug_height + 10]); translate([5, 0, 5]) thinkpad_plug(); }