vson-powerpad.fpd 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. /* MACHINE-GENERATED ! */
  2. frame wings {
  3. table
  4. { dx }
  5. { -1 }
  6. { 1 }
  7. table
  8. { dy }
  9. { -1 }
  10. { 1 }
  11. set x = (cx+wx)/2*dx
  12. set y = wiy/2*dy
  13. __0: vec @(x, y)
  14. __1: vec .(wx/2, wy/2)
  15. __2: vec __0(-wx/2, -wy/2)
  16. pad "$num" . __1
  17. }
  18. frame holes {
  19. table
  20. { dx, dy }
  21. { 0, 0 }
  22. { -1, -1 }
  23. { -1, 1 }
  24. { 1, -1 }
  25. { 1, 1 }
  26. set x = hx/2*dx
  27. set y = hy/2*dy
  28. __0: vec @(x, y)
  29. __1: vec .(hd/2, hd/2)
  30. __2: vec __0(-hd/2, -hd/2)
  31. hole . __1
  32. }
  33. frame thermal {
  34. set num = n+1
  35. __0: vec @(cx/2, cy/2)
  36. __1: vec @(-cx/2, -cy/2)
  37. pad "$num" . __0
  38. frame wings @
  39. frame holes @
  40. }
  41. frame pads {
  42. table
  43. { dy }
  44. { -1 }
  45. { 1 }
  46. set num = -dy*i+(dy+1)*(n/2+0.5)
  47. set x = (i-0.5-n/4)*e
  48. set y = dy*(iy+py)/2
  49. loop i = 1, n/2
  50. __0: vec @(x, y)
  51. __1: vec .(px/2, py/2)
  52. __2: vec __0(-px/2, -py/2)
  53. pad "$num" . __1
  54. }
  55. frame outline {
  56. table
  57. { dx, dy }
  58. { -1, 1 }
  59. { 1, -1 }
  60. { 1, 1 }
  61. set x = ox/2*dx
  62. set yo = oy/2*dy
  63. set yi = (wiy/2+wy+gap+w/2)*dy
  64. __0: vec @(x, yo)
  65. __1: vec @(x, yi)
  66. line __0 . w
  67. }
  68. frame marker {
  69. set r = 0.25mm
  70. set x = -cx/2-gap-r-w/2
  71. set y = -(iy/2+py)+r+w/2
  72. __0: vec @(x, y)
  73. __1: vec .(r, 0mm)
  74. circ __0 . w
  75. }
  76. package "VSON-POWERPAD-$n"
  77. unit mm
  78. allow overlap
  79. allow holes
  80. table
  81. { n, e, px, py, iy, cx, cy, wx, wy, wiy, hx, hy, hd, ox, oy }
  82. { 10, 0.5mm, 0.28mm, 0.85mm, 2.1mm, 2.4mm, 1.65mm, 0.7mm, 0.28mm, 0.5mm, 1.5mm, 1mm, 0.3mm, 3mm, 3mm }
  83. set w = 5mil
  84. set gap = 0.3mm
  85. frame pads @
  86. frame thermal @
  87. frame marker @
  88. frame outline @
  89. measx outline.__0 >> outline.__0 2mm
  90. measy outline.__0 >> outline.__0 -2mm
  91. measy wings.__0 -> wings.__0 1mm
  92. measy thermal.__1 >> thermal.__0 3mm
  93. measx thermal.__1 >> thermal.__0 -3mm
  94. measy pads.__2 -> pads.__1 1mm
  95. measx pads.__2 -> pads.__1 -1mm
  96. measx pads.__0 -> pads.__0 -1mm
  97. measy pads.__1 -> pads.__2 4mm
  98. measy wings.__2 -> wings.__1 1mm
  99. measx wings.__2 -> wings.__1 -0.5mm
  100. measx holes.__0 >> holes.__0 3mm
  101. measy holes.__0 >> holes.__0 -3.5mm
  102. measx holes.__2 -> holes.__1 0.5mm