2 # author: Keith Packard
3 # email: keithp@keithp.com
5 # use-license: unlimited
10 return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
22 OutlineYPad = - (0.38 / 2)
23 OutlineYHold = OutlineYPad + 4.5
25 NumPad=int(sys.argv[1])
27 print('# author: Keith Packard')
28 print('# email: keithp@keithp.com')
29 print('# dist-license: GPL 2')
30 print('# use-license: unlimited')
32 print('Element["" "pico-ezmate-%d" "" "" 0 0 0 0 0 100 ""]' % NumPad)
35 PadX = PadSpacing * NumPad / 2
39 HoldY = PadHeight / 2 + PadToHoldY - HoldHeight / 2
41 def pad(cx, cy, w, h, name, num):
59 mask = thickness + Clearance / 2
65 mm2mils100(thickness), \
66 mm2mils100(Clearance), \
68 '"%s"' % name, '"%s"' % num, '"square"]')
70 def line(x1, y1, x2, y2):
71 print(' ElementLine[',\
85 return -PadSpacing * (NumPad-1) / 2 + PadSpacing * (p - 1)
88 return h * (padx(1) - PadToHoldX - HoldWidth / 2)
91 for p in range(1,NumPad+1):
92 pad(padx(p), 0, PadWidth, PadHeight, 'pin%i' % p, '%i' % p)
95 pad(holdx(h), HoldY, HoldWidth, HoldHeight, 'GND', 'GND')
97 rect(padx(1) - OutlineX, OutlineYPad,
98 PadSpacing * (NumPad-1) + OutlineX*2,
103 # ElementLine[-11000 -1000 -3600 -1000 100]
104 # ElementLine[ 3600 -1000 11000 -1000 100]
106 # ElementLine[11000 -1000 11000 17000 100]
107 # ElementLine[11000 17000 6000 17000 100]
108 # ElementLine[ 6000 17000 4000 15000 100]
109 # ElementLine[ 4000 15000 -4000 15000 100]
110 # ElementLine[-4000 15000 -6000 17000 100]
111 # ElementLine[-6000 17000 -11000 17000 100]
112 # ElementLine[-11000 17000 -11000 -1000 100]