5 # PCB, interactive printed circuit board design
6 # Copyright (C) 2007 Dan McMahill
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; version 2 of the License.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 # The symbols produced by this file may be used and redistributed
22 # without restriction as part of a PCB layout file. Distribution
23 # of footprints produced by this file as part of a footprint
24 # library is governed by the same license as this source file.
27 # Optek Specific Footprints -- see www.optekinc.com
30 # Surface mount LED lamps, Package "RA 2.8x1.2x.8" for example part number OVSRWACR6
36 define(`PKG_OPTEK_RA_2p8_1p2_0p8',
38 # pad width and length (1/100 mil)
39 define(`PADW', `eval(140 * 10000/254)')
40 define(`PADL', `eval(90 * 10000/254)')
42 # pad center (X) (1/100 mil)
43 define(`PADC', `eval(120 * 10000/254)')
45 # x values for the pads
46 define(`PX1', `eval(PADC - (PADL - PADW)/2)')
47 define(`PX2', `eval(PADC + (PADL - PADW)/2)')
49 # package width (1/100 mil)
50 define(`PACKW', `39500')
52 # package height (1/100 mil)
53 define(`PACKH', `36000')
55 # width of soldermask relief (5 mil on each side)
56 define(`MASKW', `eval(PADL + 1000)')
58 # silkscreen width (1/100 mils)
59 define(`SILKW', `1000')
61 # how much space to leave around the part before the
62 # silk screen (1/100 mils)
63 define(`SILKS', `800')
66 define(`SXTOP', `eval( 50*10000/254 - SILKS - SILKW/2)')
67 define(`SYTOP', `eval( -45 * 10000/254)')
70 define(`SXBOT', `eval( 5500 + SILKS + SILKW/2 )')
71 define(`SYBOT1', `eval( PADL/2 + SILKS + SILKW/2 )')
72 define(`SYBOT2', `eval( -1400 + 4700 + SILKS + SILKW/2 )')
74 # Element [SFlags "Desc" "Name" "Value" MX MY TX TY TDir TScale TSFlags]
75 Element[ "" "`$1'" "`$2'" "`$3'" 0 0 0 0 0 100 ""]
78 # Pad [rX1 rY1 rX2 rY2 Thickness Clearance Mask "Name" "Number" SFlags]
81 Pad[ -PX1 0 -PX2 0 PADL 1000 MASKW "K" "1" "square"]
82 Pad[ PX1 0 PX2 0 PADL 1000 MASKW "A" "2" "square"]
85 # Silk screen around package
86 # ElementLine[ x1 y1 x2 y2 width]
89 ElementLine[ -SXTOP SYTOP SXTOP SYTOP SILKW ]
91 # left/right and bottom
92 ElementLine[ -SXBOT SYBOT1 -SXBOT SYBOT2 SILKW ]
93 ElementLine[ SXBOT SYBOT1 SXBOT SYBOT2 SILKW ]
94 ElementLine[ -SXBOT SYBOT2 SXBOT SYBOT2 SILKW ]
98 # -------------------------------------------------------------------
104 ## OPTEK Surface Mount LED's
107 # See www.optekinc.com
109 define(`PKG_OPTEK_OVSRWACR6', `PKG_OPTEK_RA_2p8_1p2_0p8(`$1', `$2', `$3')')