modules/vson-powerpad.fpd |
| 1 | /* MACHINE-GENERATED ! */ |
| 2 | |
| 3 | frame wings { |
| 4 | table |
| 5 | { dx } |
| 6 | { -1 } |
| 7 | { 1 } |
| 8 | |
| 9 | table |
| 10 | { dy } |
| 11 | { -1 } |
| 12 | { 1 } |
| 13 | |
| 14 | set x = (cx+wx)/2*dx |
| 15 | |
| 16 | set y = wiy/2*dy |
| 17 | |
| 18 | __0: vec @(x, y) |
| 19 | __1: vec .(wx/2, wy/2) |
| 20 | __2: vec __0(-wx/2, -wy/2) |
| 21 | pad "$num" . __1 |
| 22 | } |
| 23 | |
| 24 | frame holes { |
| 25 | table |
| 26 | { dx, dy } |
| 27 | { 0, 0 } |
| 28 | { -1, -1 } |
| 29 | { -1, 1 } |
| 30 | { 1, -1 } |
| 31 | { 1, 1 } |
| 32 | |
| 33 | set x = hx/2*dx |
| 34 | |
| 35 | set y = hy/2*dy |
| 36 | |
| 37 | __0: vec @(x, y) |
| 38 | __1: vec .(hd/2, hd/2) |
| 39 | __2: vec __0(-hd/2, -hd/2) |
| 40 | hole . __1 |
| 41 | } |
| 42 | |
| 43 | frame thermal { |
| 44 | set num = n+1 |
| 45 | |
| 46 | __0: vec @(cx/2, cy/2) |
| 47 | __1: vec @(-cx/2, -cy/2) |
| 48 | pad "$num" . __0 |
| 49 | frame wings @ |
| 50 | frame holes @ |
| 51 | } |
| 52 | |
| 53 | frame pads { |
| 54 | table |
| 55 | { dy } |
| 56 | { -1 } |
| 57 | { 1 } |
| 58 | |
| 59 | set num = -dy*i+(dy+1)*(n/2+0.5) |
| 60 | |
| 61 | set x = (i-0.5-n/4)*e |
| 62 | |
| 63 | set y = dy*(iy+py)/2 |
| 64 | |
| 65 | loop i = 1, n/2 |
| 66 | |
| 67 | __0: vec @(x, y) |
| 68 | __1: vec .(px/2, py/2) |
| 69 | __2: vec __0(-px/2, -py/2) |
| 70 | pad "$num" . __1 |
| 71 | } |
| 72 | |
| 73 | frame outline { |
| 74 | table |
| 75 | { dx, dy } |
| 76 | { -1, 1 } |
| 77 | { 1, -1 } |
| 78 | { 1, 1 } |
| 79 | |
| 80 | set x = ox/2*dx |
| 81 | |
| 82 | set yo = oy/2*dy |
| 83 | |
| 84 | set yi = (wiy/2+wy+gap+w/2)*dy |
| 85 | |
| 86 | __0: vec @(x, yo) |
| 87 | __1: vec @(x, yi) |
| 88 | line __0 . w |
| 89 | } |
| 90 | |
| 91 | frame marker { |
| 92 | set r = 0.25mm |
| 93 | |
| 94 | set x = -cx/2-gap-r-w/2 |
| 95 | |
| 96 | set y = -(iy/2+py)+r+w/2 |
| 97 | |
| 98 | __0: vec @(x, y) |
| 99 | __1: vec .(r, 0mm) |
| 100 | circ __0 . w |
| 101 | } |
| 102 | |
| 103 | package "VSON-POWERPAD-$n" |
| 104 | unit mm |
| 105 | allow overlap |
| 106 | allow holes |
| 107 | |
| 108 | table |
| 109 | { n, e, px, py, iy, cx, cy, wx, wy, wiy, hx, hy, hd, ox, oy } |
| 110 | { 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 } |
| 111 | |
| 112 | set w = 5mil |
| 113 | |
| 114 | set gap = 0.3mm |
| 115 | |
| 116 | frame pads @ |
| 117 | frame thermal @ |
| 118 | frame marker @ |
| 119 | frame outline @ |
| 120 | measx outline.__0 >> outline.__0 2mm |
| 121 | measy outline.__0 >> outline.__0 -2mm |
| 122 | measy wings.__0 -> wings.__0 1mm |
| 123 | measy thermal.__1 >> thermal.__0 3mm |
| 124 | measx thermal.__1 >> thermal.__0 -3mm |
| 125 | measy pads.__2 -> pads.__1 1mm |
| 126 | measx pads.__2 -> pads.__1 -1mm |
| 127 | measx pads.__0 -> pads.__0 -1mm |
| 128 | measy pads.__1 -> pads.__2 4mm |
| 129 | measy wings.__2 -> wings.__1 1mm |
| 130 | measx wings.__2 -> wings.__1 -0.5mm |
| 131 | measx holes.__0 >> holes.__0 3mm |
| 132 | measy holes.__0 >> holes.__0 -3.5mm |
| 133 | measx holes.__2 -> holes.__1 0.5mm |