$fn = 64; use colorCuts = [0.5, 0.5, 0.5]; function XT60M_Pin_Diameter() = 4; function XT60M_Pin_PinDepth() = 8; function XT60M_Pin_ShaftDepth() = 12; function XT60M_Pin_SolderDepth() = 20-16.5; function XT60M_Pin_SlitThickness() = 0.2; function XT60M_Pin_SlitDepth() = 6; function XT60M_Pin_Width() = XT60M_Pin_Diameter(); function XT60M_Pin_Height() = XT60M_Pin_Diameter(); function XT60M_Pin_Depth() = XT60M_Pin_ShaftDepth()+XT60M_Pin_PinDepth(); module XT60M_Pin(c="silver", cc="red", r=0) { rotate([0, 0, r]) translate([0, 0, -XT60M_Pin_Depth()/2]) difference() { color(c) union() { cylinder(d1=4-0.3-0.1, d2=3, h=XT60M_Pin_PinDepth()); translate([0, 0, XT60M_Pin_PinDepth()]) cylinder(d=XT60M_Pin_Diameter(), h=XT60M_Pin_ShaftDepth()); } color(cc) union() { h1 = XT60M_Pin_PinDepth(); h2 = XT60M_Pin_SolderDepth(); translate([0, 0, XT60M_Pin_Depth()-h1-0.1]) cylinder(d=XT60M_Pin_Diameter()-1, h=h1+0.2); translate([-(XT60M_Pin_Diameter()/2), -(XT60M_Pin_Diameter()/2), XT60M_Pin_Depth()-h2]) cube([XT60M_Pin_Diameter(), (XT60M_Pin_Diameter()/3), h2+0.1]); slitThickness = XT60M_Pin_SlitThickness(); slitDepth = XT60M_Pin_SlitDepth(); translate([(-XT60M_Pin_Diameter()/2), (-slitThickness/2), -0.1]) cube([XT60M_Pin_Diameter(), slitThickness, slitDepth+0.1]); translate([(-slitThickness/2), (-XT60M_Pin_Diameter()/2), -0.1]) cube([slitThickness, XT60M_Pin_Diameter(), slitDepth+0.1]); } } } // function XT60F_Pin_Diameter() = 4; function XT60F_Pin_Width() = XT60F_Pin_Diameter(); function XT60F_Pin_Height() = XT60F_Pin_Diameter(); function XT60F_Pin_Depth() = 20; module XT60F_Pin(c="silver", cc="red", r=0) { rotate([0, 0, r]) translate([0, 0, -XT60F_Pin_Depth()/2]) difference() { color(c) union() { cylinder(d=XT60F_Pin_Diameter(), h=XT60F_Pin_Depth()); } color(cc) union() { h1 = 8; h2 = 20-16.5; translate([0, 0, XT60F_Pin_Depth()-h1-0.1]) cylinder(d=XT60F_Pin_Diameter()-1, h=h1+0.2); translate([-(XT60F_Pin_Diameter()/2), -(XT60F_Pin_Diameter()/2), XT60F_Pin_Depth()-h2]) cube([XT60F_Pin_Diameter(), (XT60F_Pin_Diameter()/3), h2+0.1]); translate([0, 0, -0.1]) cylinder(d=XT60F_Pin_Diameter()-0.3, h=10+0.1); } } } // translate([+4, 0, 0]) XT60M_Pin(); translate([-4, 0, 0]) XT60F_Pin();