// scope probe connector version 2 // print with brim and 0.2mm QUALITY a la Prusa MK3S // use strong but flexible Taulman PCTPE (Nylon/TPE blend) // it's all in millimeters, live with it // smooth sides, larger is smoother but takes longer to render $fn = 8 * 4; // // select one // //connector_ID = 18 + 0.5; // ribbed front of Tek P6139A //connector_ID = 14; // hex back of Tek P6139A //connector_ID = 15; // knurl of BNC connector connector_ID = 12.5; // smooth back of BNC connector //connector_ID = 14 * sqrt(2); // square-ish body Hantek T3100 connector connector_shape = 32; // 32 except for Hantek=4 connector_OD = connector_ID + 6; connector_height = 7; connector_slot = 3; // tab ear for mounting to probe and receptacle ear_width = 3; ear_depth = 9; ear_height = 7; // probe receptacle size probe_ID = 7.0; probe_OD = probe_ID + 5.0; probe_height = 12; // M2.5 screw hole_diameter = 3; hex_recess = 4.9; // M2.5 nut across the flats // make a tab with a hole for a screw, optional recess for a nut module tab(width, depth, height, hole, nut_recess=0) { difference() { // tab body cube([width, depth, height]); // hole for screw and optional recess translate([0, (depth-hole), height/2]) rotate([0, 90, 0]) { cylinder(h=width, d=hole); if(nut_recess) cylinder(h=width/3, d=nut_recess*1.154701, $fn=6); } } } // clip for probe connector module render_connector_clip(ID, OD, height, slot) { difference() { // connector body cylinder(h=height, d=OD); // hollow out, the 45deg rotation is for the Hantek connector rotate([0, 0, 45]) cylinder(h=height, d=ID, $fn=connector_shape); // slot translate([-slot/2, -OD/2, 0]) cube([slot, OD-ID, height]); } // ears translate([ear_width+connector_slot/2, -ID/2, 0]) rotate([0, 0, 180]) tab(ear_width, ear_depth, ear_height, hole_diameter, hex_recess); translate([-ear_width+connector_slot/2, -ID/2, 0]) rotate([0, 0, 180]) tab(ear_width, ear_depth, ear_height, hole_diameter); } // place to put the probe module render_probe_receptacle(ID, OD, height) { difference() { // connector body cylinder(h=height, d=OD); // hollow out cylinder(h=height, d1=ID, d2=ID*1.5); // slight taper for probe } // mounting tab translate([-ear_height/2, ID/2+0.5, ear_width]) { rotate([0, 90, 0]) tab(ear_width, ear_depth, ear_height, hole_diameter); } } // render clip render_connector_clip(connector_ID, connector_OD, connector_height, connector_slot); // render receptacle translate([25, 0, 0]) render_probe_receptacle(probe_ID, probe_OD, probe_height);