Root/examples/qfn.fpd

Source at commit 1d7eccb06b61f239b9671617488f33910286f0f1 created 10 years 1 month ago.
By Werner Almesberger, dump.c: add dumping of %iprint
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
10frame pad_up {
11    c: vec @(-D/2, 0mm)
12    o: vec c(D, C)
13    set pad = n+1
14    pad "$pad" c .
15}
16
17frame pads {
18    loop n = 0, N/4-1
19
20    vec @(P*(n-(N/4-1)/2), -Ay/2)
21    frame pad_up .
22
23}
24
25
26part "qfn"
27
28
29set N = 24
30
31/*
32 * Note that this table is not a great example because it contains lots of
33 * fields we don't really need for iterations. But it's useful for driving
34 * the GUI to extremes.
35 */
36
37table
38    { P, Ax, Ay, Bx, By, C, D, SLx, SLy, SPx_tot, SPy_tot, SPx, SPy, Gx, Gy, Hx, Hy }
39    { 0.5mm, 5mm, 5mm, 3.2mm, 3.2mm, 0.9mm, 0.24mm, 2.1mm, 2.1mm, 1.2mm,
40      1.2mm, 0.45mm, 0.45mm, 4.3mm, 4.3mm, 5.25mm, 5.25mm }
41
42h_x0y0: vec @(-Hx/2, -Hy/2)
43h_x1y1: vec .(Hx, Hy)
44rect h_x0y0 h_x1y1 8mil
45
46/*
47 * we can't draw the package outline on the silk screen for it would print
48 * over the pads.
49 */
50#if 0
51g_x0y0: vec @(-Gx/2, -Gy/2)
52g_x1y1: vec .(Gx, Gy)
53#endif
54
55frame pads @
56
57// ARC, just for testing
58
59c: vec @(-1mm, 1mm)
60r: vec c(0mm, 0.5mm)
61e: vec c(-0.5mm, 0mm)
62arc c r e 2mil
63
64r2: vec c(0mm, 0.8mm)
65circ c r2 5mil
66
67/*
68x1 = 1+2*3
69x2 = (1+2)*3
70x3 = 1-(2+3)
71*/
72
73measy pad_up.c -> pad_up.o 0.2mm
74

Archive Download this file

Branches:
master



interactive