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