← Commit history

Solder-paste arrow: snap tip to actual nearest ball center so it lands on a ball

John Lauer ·1acfc4b4ce ·3mo ago ·parent 6994ee2
3 files changed +7−2
AdomMachinePins-4pin-animated.glb
⋯ 1 unchanged line ⋯
AdomMachinePins-complete.zip
⋯ 1 unchanged line ⋯
scripts/build_board_glb.py+7−2
@@ -198,9 +198,14 @@ callout("PRESS-FIT",(0.0215,0.0180), "hole Ø1.1   pin Ø1.2",  "pin 0.1mm wider         (0.0385,0.0112), (0.0300,0.0135), "nocast_cmed") callout("PRESS-FIT",(0.0270,0.0300), "hole Ø3.45   pin Ø3.6", "pin 0.15mm wider = gas-tight",         (0.0132,0.0378), (0.0195,0.0340), "nocast_clrg")-# SOLDER PASTE: point at the ball ring of the large pin @ (40,40)+# SOLDER PASTE: snap the arrow tip to the ACTUAL nearest ball center (balls are discrete+# 300um dots), so the arrowhead lands squarely on a ball. large pad @ (40,40), 16 balls, ring 2.1625mm.+_pc=np.array([0.040,0.040]); _ca=np.array([0.0240,0.0455]); _u=(_ca-_pc)/np.linalg.norm(_ca-_pc)+_ring=0.0021625; _n=16+_ang=round(np.arctan2(_u[1],_u[0])/(2*np.pi/_n))*(2*np.pi/_n)+_tip=_pc+_ring*np.array([np.cos(_ang),np.sin(_ang)])   # exact ball center facing the callout callout("SOLDER PASTE",(0.0240,0.0455), "300µm (0.3mm)", "jet-dispensed paste balls",-        (0.0385,0.0415), (0.0300,0.0448), "nocast_csol", STEEL)+        (_tip[0],_tip[1]), (0.0300,0.0446), "nocast_csol", STEEL) print("  callouts: PRESS-FIT x2 + SOLDER PASTE -> balls @ (40,40)")  scene.export(OUT)