File: qfn.fpd

package info (click to toggle)
fped 0.1%2B201210-1.2
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye
  • size: 968 kB
  • sloc: ansic: 12,651; yacc: 1,112; sh: 974; lex: 204; makefile: 140; awk: 75
file content (73 lines) | stat: -rw-r--r-- 1,342 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
 * Example of a QFN package (and general construction site to experiment with
 * fped features during development)
 *
 * Everything you see here is likely to change sooner or later.
 *
 * http://www.nxp.com/acrobat/packages/footprint/SOT616-1_fp_reflow.pdf
 */

frame pad_up {
	c: vec @(-D/2, 0mm)
	o: vec c(D, C)
	set pad = n+1
	pad "$pad" c .
}

frame pads {
	loop n = 0, N/4-1

	vec @(P*(n-(N/4-1)/2), -Ay/2)
	frame pad_up .

}


part "qfn"


set N = 24

/*
 * Note that this table is not a great example because it contains lots of
 * fields we don't really need for iterations. But it's useful for driving
 * the GUI to extremes.
 */

table
    { P, Ax, Ay, Bx, By, C, D, SLx, SLy, SPx_tot, SPy_tot, SPx, SPy, Gx, Gy, Hx, Hy }
    { 0.5mm, 5mm, 5mm, 3.2mm, 3.2mm, 0.9mm, 0.24mm, 2.1mm, 2.1mm, 1.2mm,
      1.2mm, 0.45mm, 0.45mm, 4.3mm, 4.3mm, 5.25mm, 5.25mm }

h_x0y0: vec @(-Hx/2, -Hy/2)
h_x1y1: vec .(Hx, Hy)
rect h_x0y0 h_x1y1 8mil

/*
 * we can't draw the package outline on the silk screen for it would print
 * over the pads.
 */
#if 0
g_x0y0: vec @(-Gx/2, -Gy/2)
g_x1y1: vec .(Gx, Gy)
#endif

frame pads @

// ARC, just for testing

c: vec @(-1mm, 1mm)
r: vec c(0mm, 0.5mm)
e: vec c(-0.5mm, 0mm)
arc c r e 2mil

r2: vec c(0mm, 0.8mm)
circ c r2 5mil

/*
x1 = 1+2*3
x2 = (1+2)*3
x3 = 1-(2+3)
*/

measy pad_up.c -> pad_up.o 0.2mm