qfn.fpd 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /*
  2. * Example of a QFN package (and general construction site to experiment with
  3. * fped features during development)
  4. *
  5. * Everything you see here is likely to change sooner or later.
  6. *
  7. * http://www.nxp.com/acrobat/packages/footprint/SOT616-1_fp_reflow.pdf
  8. */
  9. frame pad_up {
  10. c: vec @(-D/2, 0mm)
  11. o: vec c(D, C)
  12. set pad = n+1
  13. pad "$pad" c .
  14. }
  15. frame pads {
  16. loop n = 0, N/4-1
  17. vec @(P*(n-(N/4-1)/2), -Ay/2)
  18. frame pad_up .
  19. }
  20. part "qfn"
  21. set N = 24
  22. /*
  23. * Note that this table is not a great example because it contains lots of
  24. * fields we don't really need for iterations. But it's useful for driving
  25. * the GUI to extremes.
  26. */
  27. table
  28. { P, Ax, Ay, Bx, By, C, D, SLx, SLy, SPx_tot, SPy_tot, SPx, SPy, Gx, Gy, Hx, Hy }
  29. { 0.5mm, 5mm, 5mm, 3.2mm, 3.2mm, 0.9mm, 0.24mm, 2.1mm, 2.1mm, 1.2mm,
  30. 1.2mm, 0.45mm, 0.45mm, 4.3mm, 4.3mm, 5.25mm, 5.25mm }
  31. h_x0y0: vec @(-Hx/2, -Hy/2)
  32. h_x1y1: vec .(Hx, Hy)
  33. rect h_x0y0 h_x1y1 8mil
  34. /*
  35. * we can't draw the package outline on the silk screen for it would print
  36. * over the pads.
  37. */
  38. #if 0
  39. g_x0y0: vec @(-Gx/2, -Gy/2)
  40. g_x1y1: vec .(Gx, Gy)
  41. #endif
  42. frame pads @
  43. // ARC, just for testing
  44. c: vec @(-1mm, 1mm)
  45. r: vec c(0mm, 0.5mm)
  46. e: vec c(-0.5mm, 0mm)
  47. arc c r e 2mil
  48. r2: vec c(0mm, 0.8mm)
  49. circ c r2 5mil
  50. /*
  51. x1 = 1+2*3
  52. x2 = (1+2)*3
  53. x3 = 1-(2+3)
  54. */
  55. measy pad_up.c -> pad_up.o 0.2mm