tsop.fpd 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /* MACHINE-GENERATED ! */
  2. frame pin {
  3. __0: vec @(padw/2, C/2)
  4. __1: vec @(-padw/2, -C/2)
  5. pad "$n" . __0
  6. }
  7. frame pins_bottom {
  8. set n = i+1
  9. __0: vec @(x, 0mm)
  10. frame pin .
  11. }
  12. frame pins_top {
  13. set n = N-i
  14. __0: vec @(x, 0mm)
  15. frame pin .
  16. }
  17. frame pins {
  18. set y = W/2
  19. set x = (i-(N/2-1)/2)*e
  20. loop i = 0, N/2-1
  21. __0: vec @(0mm, y)
  22. frame pins_top .
  23. __1: vec @(0mm, -y)
  24. frame pins_bottom .
  25. }
  26. frame marker {
  27. set r = 0.7mm
  28. __0: vec @(-(E/2+0.6mm), -W/2)
  29. __1: vec .(-r/3, 0mm)
  30. circ __0 . w
  31. }
  32. frame outline {
  33. set w = 5mil
  34. set x = E
  35. set y = D1
  36. __0: vec @(x/2, y/2-C/4)
  37. __1: vec @(-x/2, -(y/2-C/4))
  38. rect . __0 w
  39. __2: vec @(-x/2, D1/2)
  40. __3: vec @(-x/2, -D1/2)
  41. frame marker @
  42. }
  43. package "$name-$N"
  44. unit mm
  45. table
  46. { name, N, B, C, D, D1, E, e, padw, W, Z }
  47. { "TSOP", 28, 11.25mm, 1.4mm, 13.425mm, 11.8mm, 8mm, 0.55mm, 0.2mm, 12.65mm, 0.425mm }
  48. { "TSOP", 32, 18.1mm, 1.39mm, 20mm, 18.4mm, 8mm, 0.5mm, 0.27mm, 19.49mm, 0.25mm }
  49. { "TSOP", 56, 18.1mm, 1.39mm, 20mm, 18.4mm, 14mm, 0.5mm, 0.27mm, 19.49mm, 0.25mm }
  50. { "TSOP", 66, 9.85mm, 1.25mm, 11.76mm, 10.16mm, 22.22mm, 0.65mm, 0.45mm, 11.1mm, 0.71mm }
  51. frame outline @
  52. frame pins @
  53. measy pin.__1 -> pin.__0 1mm
  54. measy pin.__1 >> pin.__0 -E-3mm
  55. measy pin.__0 >> pin.__1 -E-0.2mm
  56. measx pin.__1 -> pin.__0 -e
  57. measx pins_top.__0 -> pins_top.__0 -2mm
  58. measy pins.__0 << pins_bottom.__0 -C-1.2mm
  59. measy outline.__0 >> outline.__1 -E-C
  60. measx outline.__1 >> outline.__0 B+C+1mm
  61. measy outline.__2 >> outline.__3 -C-0.5mm
  62. measx outline.__2 -> pins_top.__0 -1mm