+# outer 2 long rows
+for pin in range (0,10):
+ print(' Pad[',\
+ mm2mils100(-BodyLength/2 + OuterEdgeD + OuterWidth/2 + pin*OuterPitch), \
+ mm2mils100(-BodyWidth/2 + OuterEdgeE + OuterWidth/2), \
+ mm2mils100(-BodyLength/2 + OuterEdgeD + OuterWidth/2 + pin*OuterPitch), \
+ mm2mils100(-BodyWidth/2 + OuterEdgeE + OuterHeight - OuterWidth/2), \
+ mm2mils100(OuterWidth), \
+ mm2mils100(OuterPitch - OuterWidth), \
+ mm2mils100(OuterWidth)+600, \
+ '"pin%i"' % (25 - pin), '"%i"' % (25 - pin), '"square"]')
+
+ print(' Pad[',\
+ mm2mils100(-BodyLength/2 + OuterEdgeD + OuterWidth/2 + pin*OuterPitch), \
+ mm2mils100(BodyWidth/2 - OuterEdgeE - OuterWidth/2), \
+ mm2mils100(-BodyLength/2 + OuterEdgeD + OuterWidth/2 + pin*OuterPitch), \
+ mm2mils100(BodyWidth/2 - OuterEdgeE - OuterHeight + OuterWidth/2), \
+ mm2mils100(OuterWidth), \
+ mm2mils100(OuterPitch - OuterWidth), \
+ mm2mils100(OuterWidth)+600, \
+ '"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '"square"]')
+
+# outer 2 short rows
+for pin in range (0,5):
+ print(' Pad[',\
+ mm2mils100(-BodyLength/2 + OuterEdgeE + OuterWidth/2), \
+ mm2mils100((pin-2) * OuterPitch), \
+ mm2mils100(-BodyLength/2 + OuterEdgeE + OuterHeight - OuterWidth/2), \
+ mm2mils100((pin-2) * OuterPitch), \
+ mm2mils100(OuterWidth), \
+ mm2mils100(OuterPitch - OuterWidth), \
+ mm2mils100(OuterWidth)+600, \
+ '"pin%i"' % (26 + pin), '"%i"' % (26 + pin), '"square"]')
+
+ print(' Pad[',\
+ mm2mils100(BodyLength/2 - OuterEdgeE - OuterWidth/2), \
+ mm2mils100((pin-2) * OuterPitch), \
+ mm2mils100(BodyLength/2 - OuterEdgeE - OuterHeight + OuterWidth/2), \
+ mm2mils100((pin-2) * OuterPitch), \
+ mm2mils100(OuterWidth), \
+ mm2mils100(OuterPitch - OuterWidth), \
+ mm2mils100(OuterWidth)+600, \
+ '"pin%i"' % (15 - pin), '"%i"' % (15 - pin), '"square"]')
+
+# active inner row
+for pin in range (0,6):
+ print(' Pad[',\
+ mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeM + InnerSize/2), \
+ mm2mils100((pin-2.5) * InnerPitch), \
+ mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeM + InnerSize/2), \
+ mm2mils100((pin-2.5) * InnerPitch), \
+ mm2mils100(InnerSize), \
+ mm2mils100(InnerPitch - InnerSize), \
+ mm2mils100(InnerSize)+600, \
+ '"pin%i"' % (36 - pin), '"%i"' % (36 - pin), '"square"]')
+
+# gnd pads
+for pin in range (0,2):
+ print(' Pad[',\
+ mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + InnerSize/2), \
+ mm2mils100((pin-0.5) * GndPitch), \
+ mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + InnerSize/2), \
+ mm2mils100((pin-0.5) * GndPitch), \
+ mm2mils100(InnerSize), \
+ mm2mils100(InnerPitch - InnerSize), \
+ mm2mils100(InnerSize)+600, \
+ '"pin37"', '"37"', '"square"]')
+
+ print(' Pad[',\
+ mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch*2 + InnerSize/2), \
+ mm2mils100((pin-0.5) * GndPitch), \
+ mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch*2 + InnerSize/2), \
+ mm2mils100((pin-0.5) * GndPitch), \
+ mm2mils100(InnerSize), \
+ mm2mils100(InnerPitch - InnerSize), \
+ mm2mils100(InnerSize)+600, \
+ '"pin37"', '"37"', '"square"]')
+
+for pin in range (0,4):
+ print(' Pad[',\
+ mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch + InnerSize/2), \
+ mm2mils100((pin-1.5) * GndPitch), \
+ mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch + InnerSize/2), \
+ mm2mils100((pin-1.5) * GndPitch), \
+ mm2mils100(InnerSize), \
+ mm2mils100(InnerPitch - InnerSize), \
+ mm2mils100(InnerSize)+600, \
+ '"pin37"', '"37"', '"square"]')
+
+ print(' Pad[',\
+ mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch*3 + InnerSize/2), \
+ mm2mils100((pin-1.5) * GndPitch), \
+ mm2mils100(-BodyLength/2 + OuterEdgeD + InnerEdgeK + GndPitch*3 + InnerSize/2), \
+ mm2mils100((pin-1.5) * GndPitch), \
+ mm2mils100(InnerSize), \
+ mm2mils100(InnerPitch - InnerSize), \
+ mm2mils100(InnerSize)+600, \
+ '"pin37"', '"37"', '"square"]')