Root/modules/sot.fpd

Source at commit 96c7eb392cf43e09e431682d23c8613716f4b001 created 11 years 9 months ago.
By Werner Almesberger, components/adxl32x.lib: Analog Devices ADXL321, ... accelerometers
1/* MACHINE-GENERATED ! */
2
3frame pad {
4    set x = dx*e
5
6    set y = dy*cy/2
7
8    __2: vec @(x, y)
9    __0: vec .(px/2, py/2)
10    __1: vec __2(-px/2, -py/2)
11    pad "$n" . __0
12}
13
14frame marker {
15    set x = D/2+r+w+clear
16
17    set r = (px-w)/2
18
19    set clear = 0.15mm
20
21    set y = cy/2
22
23    __0: vec @(-x, -y)
24    __1: vec .(r, 0mm)
25    circ __0 . w
26}
27
28frame outline {
29    __0: vec @(D/2, E/2)
30    __1: vec @(D/2, -E/2)
31    line __0 . w
32    __2: vec @(-D/2, E/2)
33    __3: vec @(-D/2, -E/2)
34    line . __2 w
35}
36
37frame pads6 {
38    table
39        { n, dx, dy }
40        { 1, -1, -1 }
41        { 2, 0, -1 }
42        { 3, 1, -1 }
43        { 4, 1, 1 }
44        { 5, 0, 1 }
45        { 6, -1, 1 }
46
47    set x = dx*e
48
49    set y = dy*cy/2
50
51    loop if = sqrt((N-6)*(N-6)), 0
52
53    frame marker @
54    frame outline @
55    frame pad @
56}
57
58frame pads3 {
59    table
60        { n, dx, dy }
61        { 1, -1, -1 }
62        { 2, 1, -1 }
63        { 3, 0, 1 }
64
65    loop if = sqrt((N-3)*(N-3)), 0
66
67    frame outline @
68    frame pad @
69}
70
71package "SOT-$Name"
72unit mm
73
74table
75    { Name, N, D, E, e, cy, px, py }
76    { "323", 3, 2mm, 1.25mm, 0.65mm, 1.9mm, 0.7mm, 0.9mm }
77    { "363", 6, 2mm, 1.25mm, 0.65mm, 1.9mm, 0.4mm, 0.5mm }
78    { "523", 3, 1.6mm, 0.8mm, 0.5mm, 1.3mm, 0.4mm, 0.51mm }
79    { "563", 6, 1.6mm, 1.2mm, 0.5mm, 1.35mm, 0.3mm, 0.45mm }
80
81set w = 5mil
82
83frame pads6 @
84frame pads3 @
85measx outline.__2 >> outline.__0 1mm
86measy outline.__3 >> outline.__2 0.5mm
87measx pad.__1 -> pad.__0 -0.5mm
88measy pad.__1 -> pad.__0 0.2mm
89measx pad.__2 -> pad.__2 0.5mm
90measy pad.__2 >> pad.__2 -D
91

Archive Download this file

Branches:
master



interactive