module MIDI_Stencil() { hull() { cylinder(d=20, h=3, $fn=64); translate([-11,0,0]) cylinder(d=8, h=3, $fn=64); translate([11, 0,0]) cylinder(d=8, h=3, $fn=64); } cylinder(d=15, h=10, $fn=64); translate([-11, 0, 0]) cylinder(d=1.5, h=10, $fn=64); translate([11, 0, 0]) cylinder(d=1.5, h=10, $fn=64); } module Jack_65_mm_Socket() { cylinder(d=15, h=3, $fn=64); cylinder(d=9, h=10, $fn=64); } thick=3; difference() { translate([ 0, 0, 20-1 ]) cube([100, 25+2*thick, 40], center=true); translate([ 0, 0, 20+thick ]) cube([100-2*thick, 25, 40], center=true); translate([30, 0, -2]) MIDI_Stencil(); translate([-30, 0, -2]) Jack_65_mm_Socket(); translate([0, 0, -2]) Jack_65_mm_Socket(); } translate([-30, -8, 40-1]) difference() { union() { cylinder(d=15, h=15, $fn=64); translate([0,0,15]) intersection() { cylinder(d=20, h=10, $fn=64); hull() { cube([30, 15, 1], center=true); translate([0,0,5]) cube([10, 15, 1], center=true); } } translate([0, 8, -thick/2]) cube([40, 30, thick], center=true); } cylinder(d=5, h=100, $fn=64); cube([7, 20, 70], center=true); }