sot23.fpd 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /* MACHINE-GENERATED ! */
  2. frame pad {
  3. __0: vec @(w/2, h/2)
  4. __1: vec @(-w/2, -h/2)
  5. pad "$n" . __0
  6. }
  7. frame pads {
  8. table
  9. { n, x, y }
  10. { 1, -e*ccw, -f/2 }
  11. { 2, e*ccw, -f/2 }
  12. { 3, 0mm, f/2 }
  13. __0: vec @(x, y)
  14. frame pad .
  15. }
  16. frame outline {
  17. set lw = 5mil
  18. set clear = lw/2+0.1mm
  19. set s = (A-w)/2-clear
  20. set m2 = e-w/2-clear
  21. __0: vec @(A/2, B/2)
  22. __2: vec @(-A/2, B/2)
  23. __3: vec .(0mm, -B)
  24. line __2 . lw
  25. __1: vec __0(0mm, -B)
  26. line . __0 lw
  27. __4: vec __2(s, 0mm)
  28. line __2 . lw
  29. __5: vec __0(-s, 0mm)
  30. line . __0 lw
  31. __6: vec @(0mm, -B/2)
  32. __7: vec .(m2, 0mm)
  33. __8: vec __6(-m2, 0mm)
  34. line . __7 lw
  35. }
  36. package "SOT23$suffix"
  37. unit auto
  38. table
  39. { A, B, e, f, h, w }
  40. { 2.9mm, 1.3mm, 0.95mm, 2.3mm, 0.95mm, 0.65mm }
  41. table
  42. { suffix, ccw }
  43. { "", 1 }
  44. { "-CW", -1 }
  45. frame outline @
  46. frame pads @
  47. measx outline.__2 >> outline.__0 1.5mm
  48. measy outline.__3 >> outline.__2 0.5mm
  49. measx pads.__0 -> pads.__0 1.7mm+f/2
  50. measy pads.__0 >> pads.__0 1.3mm
  51. measy pad.__1 -> pad.__0 0.5mm
  52. measx pad.__1 -> pad.__0 -0.5mm
  53. measx pads.__0 >> pads.__0 1mm
  54. measy pad.__1 >> pad.__0 1.3mm