# dimensions in mm from NHD-C0216CZ-FSW-FBW-3V3.pdf datasheet
BodyWidth = 41.4
BodyHeight = 24.3
-BodyHeightOffset = -0.75 # pin row to body edge distance
PinDiam = 0.7
PinSpacing = 1.50
+PinOffset = 0.75
Pins = 10
ViewWidth = 34.22
ViewHeight = 8.76
ViewHCtr = 15.8 / 2 + 7.6 - BodyHeight / 2
+# centered rectangle of holes for alignment pins
+MntWidth = 40.2
+MntHeight = 23.1
+MntDiam = 1.0
+
+# contacts for LED backlight
+BLWidth = 34.6
+BLOffset = 2.55
+BLDiam = 1.25 # a 1.2 x 0.6 slot is called for
+
import sys
# we're going to use the 1/100 of a mil fundamental unit form
print ' Pin[',\
mm2mils100((pin - 5.5)*PinSpacing), \
- mm2mils100(-BodyHeight/2), \
+ mm2mils100(-BodyHeight/2+PinOffset), \
mm2mils100(PinDiam * 1.75), \
1200, \
mm2mils100(PinDiam * 1.75) + 600, \
print ' ElementLine[',\
-mm2mils100(BodyWidth/2), \
- -mm2mils100(BodyHeight/2-BodyHeightOffset), \
+ -mm2mils100(BodyHeight/2), \
mm2mils100(BodyWidth/2), \
- -mm2mils100(BodyHeight/2-BodyHeightOffset), \
+ -mm2mils100(BodyHeight/2), \
500, \
']'
print ' ElementLine[',\
-mm2mils100(BodyWidth/2), \
- -mm2mils100(BodyHeight/2-BodyHeightOffset), \
+ -mm2mils100(BodyHeight/2), \
-mm2mils100(BodyWidth/2), \
- mm2mils100(BodyHeight/2-BodyHeightOffset), \
+ mm2mils100(BodyHeight/2), \
500, \
']'
print ' ElementLine[',\
-mm2mils100(BodyWidth/2), \
- mm2mils100(BodyHeight/2-BodyHeightOffset), \
+ mm2mils100(BodyHeight/2), \
mm2mils100(BodyWidth/2), \
- mm2mils100(BodyHeight/2-BodyHeightOffset), \
+ mm2mils100(BodyHeight/2), \
500, \
']'
print ' ElementLine[',\
mm2mils100(BodyWidth/2), \
- mm2mils100(BodyHeight/2-BodyHeightOffset), \
+ mm2mils100(BodyHeight/2), \
mm2mils100(BodyWidth/2), \
- -mm2mils100(BodyHeight/2-BodyHeightOffset), \
+ -mm2mils100(BodyHeight/2), \
500, \
']'
print ' ElementLine[',\
mm2mils100(-ViewWidth/2), \
- mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
mm2mils100(ViewWidth/2), \
- mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
500, \
']'
print ' ElementLine[',\
mm2mils100(-ViewWidth/2), \
- mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
mm2mils100(ViewWidth/2), \
- mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
500, \
']'
print ' ElementLine[',\
mm2mils100(-ViewWidth/2), \
- mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
mm2mils100(-ViewWidth/2), \
- mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
500, \
']'
print ' ElementLine[',\
mm2mils100(ViewWidth/2), \
- mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
mm2mils100(ViewWidth/2), \
- mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
500, \
']'
print ' ElementLine[',\
mm2mils100(ViewWidth/2), \
- mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
mm2mils100(-ViewWidth/2), \
- mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
500, \
']'
print ' ElementLine[',\
mm2mils100(-ViewWidth/2), \
- mm2mils100(ViewHCtr - ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
mm2mils100(ViewWidth/2), \
- mm2mils100(ViewHCtr + ViewHeight/2-BodyHeightOffset), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
500, \
']'
+# holes for alignment pins
+print ' Pin[',\
+ mm2mils100(MntWidth/2), \
+ mm2mils100(MntHeight/2), \
+ mm2mils100(MntDiam * 1.75), \
+ 1200, \
+ mm2mils100(MntDiam * 1.75) + 600, \
+ mm2mils100(MntDiam), \
+ '"G"', '"G"', '0x0001', ']'
+
+print ' Pin[',\
+ mm2mils100(MntWidth/2), \
+ mm2mils100(-MntHeight/2), \
+ mm2mils100(MntDiam * 1.75), \
+ 1200, \
+ mm2mils100(MntDiam * 1.75) + 600, \
+ mm2mils100(MntDiam), \
+ '"G"', '"G"', '0x0001', ']'
+
+print ' Pin[',\
+ mm2mils100(-MntWidth/2), \
+ mm2mils100(MntHeight/2), \
+ mm2mils100(MntDiam * 1.75), \
+ 1200, \
+ mm2mils100(MntDiam * 1.75) + 600, \
+ mm2mils100(MntDiam), \
+ '"G"', '"G"', '0x0001', ']'
+
+print ' Pin[',\
+ mm2mils100(-MntWidth/2), \
+ mm2mils100(-MntHeight/2), \
+ mm2mils100(MntDiam * 1.75), \
+ 1200, \
+ mm2mils100(MntDiam * 1.75) + 600, \
+ mm2mils100(MntDiam), \
+ '"G"', '"G"', '0x0001', ']'
+
+# backlight pins
+print ' Pin[',\
+ mm2mils100(-BLWidth/2), \
+ mm2mils100(-BodyHeight/2+BLOffset), \
+ mm2mils100(BLDiam * 1.75), \
+ 1200, \
+ mm2mils100(BLDiam * 1.75) + 600, \
+ mm2mils100(BLDiam), \
+ '"K"', '"K"', '0x0001', ']'
+
+print ' Pin[',\
+ mm2mils100(BLWidth/2), \
+ mm2mils100(-BodyHeight/2+BLOffset), \
+ mm2mils100(BLDiam * 1.75), \
+ 1200, \
+ mm2mils100(BLDiam * 1.75) + 600, \
+ mm2mils100(BLDiam), \
+ '"A"', '"A"', '0x0001', ']'
+
print ")"