// -*- C -*- include tau = 6.28318530718; function deg2rad(deg) = deg/360 * tau; module SplitPin(w=1.5, holeminrad=3, deviationrad=1, thick=3, mainlen=20){ bent_x0 = w*1.5; bent_x1 = holeminrad; bent_dx = bent_x1 - bent_x0; bent_y1 = mainlen; bent_rad = (bent_dy / bent_dx) * bent_dy; bent_subang = atan(bent_dx / bent_dy); actual_mainlen = bent_rad * deg2rad(bent_subang); unbent_dx = bent_dx + deviationrad; for (xmir=[0,1]) mirror([xmir,0,0]) { linear_extrude(height=thick) { FlatArc(0,0, w*0.5, w*1.5, 270-1,360); FlatArc(); } } } SplitPin();