/* [Parameters] */ //Board thickness (mm) thickness = 2.0; //Show main body enable_body = true; //Enable DB9 drills enable_drills = true; //Enable SMA hole enable_sma = true; /* [Constants] */ //DB9 Drill diameter (mm) drill_diameter = 3.1; //DB9 Drill pitch (mm) drill_pitch = 24.99; //SMA hole diameter (mm) sma_diameter = 6.6; //SMA indent (mm) sma_indent = 0.5; //Width (mm) width = 31.5; //Height (mm) height = 12.55; //Corner radius (mm) corner_radius = 1.0; //Face number $fn=100; difference() { //Main body if (enable_body) hull() { translate([-width/2.0, height/2]) translate([corner_radius,-corner_radius]) cylinder(thickness, r=corner_radius); translate([width/2.0, height/2]) translate([-corner_radius,-corner_radius]) cylinder(thickness, r=corner_radius); translate([-width/2.0, -height/2]) translate([corner_radius,corner_radius]) cylinder(thickness, r=corner_radius); translate([width/2.0, -height/2]) translate([-corner_radius,corner_radius]) cylinder(thickness, r=corner_radius); } union() { //DB9 drills if (enable_drills) union() { translate([-drill_pitch/2.0, 0, -thickness*0.05]){ cylinder(h=thickness*1.1, d=drill_diameter); } translate([+drill_pitch/2.0, 0, -thickness*0.05]){ cylinder(h=thickness*1.1, d=drill_diameter); } } //SMA hole if (enable_sma) difference() { translate([0, 0, -thickness*0.05]) cylinder(h=thickness*1.1, d=sma_diameter); translate([-(sma_diameter/2), (sma_diameter/2)-sma_indent, -thickness*0.1]) cube([sma_diameter,sma_diameter, thickness*1.2]); } } }