#
# dimensions in mm from MP3H6115A.pdf Motorola packaging datasheet
+BodyWidth = 7.6
+BodyHeight = 10.45
PinWidth = 0.61
PinHeight = 2.03
PinSpacing = 1.27
-RowSpacing = 9.65
+RowCenters = 9.65
+RowSpacing = RowCenters - PinHeight
BodySize = 7.4
import sys
print "("
for pin in range (0,8):
print ' Pad[',\
- mm2mils100(pin * PinSpacing + PinWidth/2), \
- mm2mils100(PinWidth/2), \
- mm2mils100(pin * PinSpacing + PinWidth/2), \
- mm2mils100(PinHeight - PinWidth/2), \
+ mm2mils100((pin-3.5) * PinSpacing), \
+ mm2mils100(-(RowSpacing/2 + PinWidth/2)), \
+ mm2mils100((pin-3.5) * PinSpacing), \
+ mm2mils100(-(RowSpacing/2 + PinHeight - PinWidth/2)), \
mm2mils100(PinWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(PinWidth)+600, \
'"pin%i"' % (16 - pin), '"%i"' % (16 - pin), '0x0100]'
print ' Pad[',\
- mm2mils100(pin * PinSpacing + PinWidth/2), \
- mm2mils100(RowSpacing + PinWidth/2), \
- mm2mils100(pin * PinSpacing + PinWidth/2), \
- mm2mils100(RowSpacing + PinHeight - PinWidth/2), \
+ mm2mils100((pin-3.5) * PinSpacing), \
+ mm2mils100(RowSpacing/2 + PinWidth/2), \
+ mm2mils100((pin-3.5) * PinSpacing), \
+ mm2mils100(RowSpacing/2 + PinHeight - PinWidth/2), \
mm2mils100(PinWidth), \
mm2mils100(PinSpacing - PinWidth), \
mm2mils100(PinWidth)+600, \
'"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '0x0100]'
-#print ' ElementLine[',\
-# mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
-# mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
-# mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
-# mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
-# '1000 ]'
-#
-#print ' ElementLine[',\
-# mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
-# mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
-# mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
-# mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
-# '1000 ]'
-#
-#print ' ElementLine[',\
-# mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
-# mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
-# mm2mils100(2 * PinSpacing - .254 - BodySize/2), \
-# mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
-# '1000 ]'
-#
-#print ' ElementLine[',\
-# mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
-# mm2mils100(PinHeight/2 + RowSpacing/2 - BodySize/2), \
-# mm2mils100(2 * PinSpacing - .254 + BodySize/2), \
-# mm2mils100(PinHeight/2 + RowSpacing/2 + BodySize/2), \
-# '1000 ]'
+print ' ElementLine[',\
+ mm2mils100(-BodyHeight/2), \
+ mm2mils100(-BodyWidth/2), \
+ mm2mils100(-BodyHeight/2), \
+ mm2mils100( BodyWidth/2), \
+ '1000 ]'
+
+print ' ElementLine[',\
+ mm2mils100(-BodyHeight/2), \
+ mm2mils100( BodyWidth/2), \
+ mm2mils100( BodyHeight/2), \
+ mm2mils100( BodyWidth/2), \
+ '1000 ]'
+
+print ' ElementLine[',\
+ mm2mils100( BodyHeight/2), \
+ mm2mils100( BodyWidth/2), \
+ mm2mils100( BodyHeight/2), \
+ mm2mils100(-BodyWidth/2), \
+ '1000 ]'
+
+print ' ElementLine[',\
+ mm2mils100( BodyHeight/2), \
+ mm2mils100(-BodyWidth/2), \
+ mm2mils100(-BodyHeight/2), \
+ mm2mils100(-BodyWidth/2), \
+ '1000 ]'
print ' ElementArc[',\
- mm2mils100(PinWidth/2), \
- mm2mils100(RowSpacing-PinHeight/4), \
+ mm2mils100(-3.5 * PinSpacing), \
+ mm2mils100(RowSpacing/2-PinHeight/4), \
'500 500 0 360 1000 ]'
print ")"