--- /dev/null
+
+Element["" "" "" "" 80.00mil 50.00mil 0.0000 0.0000 0 100 ""]
+(
+ Pad[-34.00mil -1.00mil -34.00mil 1.00mil 60.00mil 20.00mil 80.00mil "" "1" "square"]
+ Pad[34.00mil -1.00mil 34.00mil 1.00mil 60.00mil 20.00mil 80.00mil "" "2" "square"]
+ ElementLine [75.00mil -45.00mil 75.00mil 45.00mil 10.00mil]
+ ElementLine [75.00mil 45.00mil -75.00mil 45.00mil 10.00mil]
+ ElementLine [-75.00mil 45.00mil -75.00mil -45.00mil 10.00mil]
+ ElementLine [-75.00mil -45.00mil 75.00mil -45.00mil 10.00mil]
+
+ )
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: ASCII -*-
+'''Maxim uMAX 10-lead
+package: http://pdfserv.maxim-ic.com/package_dwgs/21-0061.PDF
+land pattern: http://pdfserv.maxim-ic.com/land_patterns/90-0330.PDF
+'''
+import sys
+from footprinter import *
+
+#
+# PCB fab minimums
+#
+MASK_SWELL = mil(5.0)
+MIN_TRACE = mil(6.0)
+MIN_SPACE = mil(6.0)
+MIN_PAD_ANNULUS = mil(15.0)
+MIN_VIA_ANNULUS = mil(10.0)
+
+# pcb's coordinates are graphics oriented
+# x in increasing right
+# y in increasing DOWN
+
+SILK_LINEWIDTH = mil(8.0)
+
+
+padw = mm(1.5)
+padh = mm(0.28)
+ccspace = mm(4.28)
+pitch = mm(0.5)
+
+bodyw = mm(3.0)
+bodyh = mm(3.0)
+
+npins = 10
+
+pads = []
+#left
+for i in range(1, npins +1):
+ if i > npins/2:
+ side = 1
+ else:
+ side = -1
+
+ idx = (i-1) % (npins/2)
+ if npins % 4 == 0:
+ py = side*pitch*(npins/4 - 0.5) - side*(idx*pitch)
+ else:
+ py = side*pitch*(npins/4) - side*(idx*pitch)
+ pad = Pad(i,
+ [
+ side * ccspace/2 - padw/2,
+ py - padh/2,
+ side * ccspace/2 + padw/2,
+ py + padh/2
+ ],
+ MIN_SPACE, MASK_SWELL, name=str(i), sflags='square'
+ )
+ pads.append(pad)
+
+
+# silkscreen
+lines = []
+#top
+lines.append(ElementLine(
+ -bodyw/2, -bodyh/2,
+ bodyw/2, -bodyh/2,
+ SILK_LINEWIDTH))
+
+#pin-1 pip
+lines.append(ElementLine(
+ -bodyw/2, -bodyh/2,
+ -bodyw/2, -bodyh/2 - 1.5*SILK_LINEWIDTH,
+ SILK_LINEWIDTH))
+
+#bottom
+lines.append(ElementLine(
+ -bodyw/2, bodyh/2,
+ bodyw/2, bodyh/2,
+ SILK_LINEWIDTH))
+
+
+fp = Footprint(
+ padpins=pads,
+ linearcs=lines,
+ sflags='',
+ description=''
+ )
+
+fp.mx = 0
+fp.my = 0
+fp.tx = 0
+fp.ty = 0
+fp.write(sys.stdout)
+
--- /dev/null
+Element ["" "" "" "" 0nm 0nm 0nm 0nm 0 100 ""]
+(
+Pad [-2750000nm -1000000nm -1530000nm -1000000nm 280000nm 152400nm 534000nm "1" "1" "square"]
+Pad [-2750000nm -500000nm -1530000nm -500000nm 280000nm 152400nm 534000nm "2" "2" "square"]
+Pad [-2750000nm 0nm -1530000nm 0nm 280000nm 152400nm 534000nm "3" "3" "square"]
+Pad [-2750000nm 500000nm -1530000nm 500000nm 280000nm 152400nm 534000nm "4" "4" "square"]
+Pad [-2750000nm 1000000nm -1530000nm 1000000nm 280000nm 152400nm 534000nm "5" "5" "square"]
+Pad [1530000nm 1000000nm 2750000nm 1000000nm 280000nm 152400nm 534000nm "6" "6" "square"]
+Pad [1530000nm 500000nm 2750000nm 500000nm 280000nm 152400nm 534000nm "7" "7" "square"]
+Pad [1530000nm 0nm 2750000nm 0nm 280000nm 152400nm 534000nm "8" "8" "square"]
+Pad [1530000nm -500000nm 2750000nm -500000nm 280000nm 152400nm 534000nm "9" "9" "square"]
+Pad [1530000nm -1000000nm 2750000nm -1000000nm 280000nm 152400nm 534000nm "10" "10" "square"]
+ElementLine [-1500000nm -1500000nm 1500000nm -1500000nm 203200nm]
+ElementLine [-1500000nm -1500000nm -1500000nm -1804800nm 203200nm]
+ElementLine [-1500000nm 1500000nm 1500000nm 1500000nm 203200nm]
+)
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: ASCII -*-
+'''Maxim uMAX 8-lead
+package: http://pdfserv.maxim-ic.com/package_dwgs/21-0036.PDF
+land pattern: http://pdfserv.maxim-ic.com/land_patterns/90-0092.PDF
+'''
+import sys
+from footprinter import *
+
+#
+# PCB fab minimums
+#
+MASK_SWELL = mil(5.0)
+MIN_TRACE = mil(6.0)
+MIN_SPACE = mil(6.0)
+MIN_PAD_ANNULUS = mil(15.0)
+MIN_VIA_ANNULUS = mil(10.0)
+
+# pcb's coordinates are graphics oriented
+# x in increasing right
+# y in increasing DOWN
+
+SILK_LINEWIDTH = mil(8.0)
+
+
+padw = mm(1.4)
+padh = mm(0.40)
+ccspace = mm(4.30)
+pitch = mm(0.65)
+
+bodyw = mm(3.0)
+bodyh = mm(3.0)
+
+npins = 8
+
+pads = []
+#left
+for i in range(1, npins +1):
+ if i > npins/2:
+ side = 1
+ else:
+ side = -1
+
+ idx = (i-1) % (npins/2)
+ if npins % 4 == 0:
+ py = side*pitch*(npins/4 - 0.5) - side*(idx*pitch)
+ else:
+ py = side*pitch*(npins/4) - side*(idx*pitch)
+ pad = Pad(i,
+ [
+ side * ccspace/2 - padw/2,
+ py - padh/2,
+ side * ccspace/2 + padw/2,
+ py + padh/2
+ ],
+ MIN_SPACE, MASK_SWELL, name=str(i), sflags='square'
+ )
+ pads.append(pad)
+
+
+# silkscreen
+lines = []
+#top
+lines.append(ElementLine(
+ -bodyw/2, -bodyh/2,
+ bodyw/2, -bodyh/2,
+ SILK_LINEWIDTH))
+
+#pin-1 pip
+lines.append(ElementLine(
+ -bodyw/2, -bodyh/2,
+ -bodyw/2, -bodyh/2 - 1.5*SILK_LINEWIDTH,
+ SILK_LINEWIDTH))
+
+#bottom
+lines.append(ElementLine(
+ -bodyw/2, bodyh/2,
+ bodyw/2, bodyh/2,
+ SILK_LINEWIDTH))
+
+
+fp = Footprint(
+ padpins=pads,
+ linearcs=lines,
+ sflags='',
+ description=''
+ )
+
+fp.mx = 0
+fp.my = 0
+fp.tx = 0
+fp.ty = 0
+fp.write(sys.stdout)
+
--- /dev/null
+Element ["" "" "" "" 0nm 0nm 0nm 0nm 0 100 ""]
+(
+Pad [-2650000nm -975000nm -1650000nm -975000nm 400000nm 152400nm 654000nm "1" "1" "square"]
+Pad [-2650000nm -325000nm -1650000nm -325000nm 400000nm 152400nm 654000nm "2" "2" "square"]
+Pad [-2650000nm 325000nm -1650000nm 325000nm 400000nm 152400nm 654000nm "3" "3" "square"]
+Pad [-2650000nm 975000nm -1650000nm 975000nm 400000nm 152400nm 654000nm "4" "4" "square"]
+Pad [1650000nm 975000nm 2650000nm 975000nm 400000nm 152400nm 654000nm "5" "5" "square"]
+Pad [1650000nm 325000nm 2650000nm 325000nm 400000nm 152400nm 654000nm "6" "6" "square"]
+Pad [1650000nm -325000nm 2650000nm -325000nm 400000nm 152400nm 654000nm "7" "7" "square"]
+Pad [1650000nm -975000nm 2650000nm -975000nm 400000nm 152400nm 654000nm "8" "8" "square"]
+ElementLine [-1500000nm -1500000nm 1500000nm -1500000nm 203200nm]
+ElementLine [-1500000nm -1500000nm -1500000nm -1804800nm 203200nm]
+ElementLine [-1500000nm 1500000nm 1500000nm 1500000nm 203200nm]
+)